Agreed. The lack of support on both ends is a little annoying.
I looked a little more into this. It seems on the Git side, the lack of support is more specifically with the diff tool used by Git. That diff tool is configurable. You can use an alternate diff tool that is UTF-16 aware. That would seem to be more of a local solution though, not something that is stored in the repository and used by other people. As such, I don't see that being used up on GitHub.
I suppose that at least explains the solution you found of setting "diff" for the file. That seems to match all the other partial solutions that I saw online.