Hmm okay, then if it's not that, please try...
Inside of "OnFontTextureRebuilt()", change this line:
if(textMesh != null && hyphenedText.Length > 0 && allFonts.Contains(changedFont))
to this:
if(textMesh != null && hyphenedText.Length > 0)
This is a bit more inefficient, as it'll cause every Super Text Mesh object in a scene to rebuild when any font texture rebuilds, but it should force a rebuild no matter what and let us know for sure if that's causing the issue or not.
Also, I'm curious about the import settings of the Japanese font. Is it marked as dynamic or static? (unicode)