The reason for the hack, per the comments, is that VS2015 omits a codepage field from the result of _create_locale(); and some optimism is expressed therein that Microsoft might undo that oversight in future. Has this been fixed in more recent VS versions? If not, can we find another, more robust way to do it?
While working on another issue I have seen this issue reproduce in VS2019. So no, it has not been fixed.
Please find attached a patch that provides a better detection of the "uft8" cases.