Cygwin/MSYS2 は、sjis の日本語に対応してないから、日本語でバグル!
Linux のUTF-8 を、Windows でコンパイルしただけ。
sjis など、MS が使っている、文字コードには対応していない!

WSL は、Windows10 が、環境が切り替わる所で、
sjis/UTF-8 を変換いているから、バグらない

sjis などの何百もある、国ごとに異なる、Windows専用の文字コードは、MSしか対応できない。
これらは、その国だけで使われている、国際化してない文字コード!

一方、UTF-8は、全世界で共通の文字コード

とにかく、sjis/UTF-8の変換は、MS以外ではできない。
オープンソースで出来るのは、Ruby も使っている、NKF だけ!