Guys, I like the idea with a flag, but for a different purpose. I think it is easy to detect the issue (using the flag) when metastorage was created on a new version with a fixed charset, or on an older version with the user-defined default. Regarding the flag, we can choose a new strategy forcing UTF-8, or fallback to the old one with defaultCharset and print a warning and recommendation in log.
Adding any compatibility stuff is absolutely error-prone because if you fail in the middle of restoring process, you will get broken metastorage with keys in different charsets. At this point, there is no way to detect broken keys anymore.