個人的には視認性やタイポ性の不利だと思っていたが、そうではないみたい。

アンダースコアは識別子として有効だ. “CSS2で識別子に使える文字は [A-Za-z0-9] とISO 10646の161以上、そしてハイフン(-)だ”が次のように変更された。

– CSS2で識別子に使える文字は [A-Za-z0-9] とISO 10646の161以上、 そしてハイフン(-)とアンダースコア(_)だ

https://www.d-toybox.com/spec/CSS2.1/appendixC/#q30

とあるように、CSS2の勧告当時(1998年5月)では「_」はクラス名に認められていなかったかららしい。