I suspect the real reason is the same reason why you wrote "kebab-case" and "lisp-land" and not "kebab_case" and "lisp_land".
The main flaw is that the underscore is not actually a character in the English typographical language; it's a typewriter feature for going back and underlining text.
When used for joining words, it looks terrible, like a hyphen that has lost its suspenders and fallen to the floor.
I would write kebab case even if hyphen required the shift, and underscore didn't.