JSのString.prototype.localeCompareを使うと、日本語環境では"あ".localeCompare("ア")が0に、その他環境では-1になります。
比較対象が「何語のどんな文字」か分かりません。(=第二引数を使えない)、
これを「カタカナとひらがなを全環境で違うものとしてみる」ようにできないでしょうか。

単純比較でできないことはないと思いますが、元のコードがlocaleCompareを使っているので、相応の理由があるのでは、とは思っています。