I'm quite confident that when VB6 was designed, they ddidn't care about UTF-8 because even when it already existed, it was not known/used.
It was years later when UTF-8 begun to be used, and even later it became an standard, at least for the web.

If VB6 can handle UTF-8 in some of its features, it must be because it is doing that function through an API. And the OS's API is the one that was updated to handle UTF-8.

Some info (not much): https://www.quora.com/Why-doesnt-Mic...-on-Windows-10