Actually it's vbscript:run itself which decides on the code page.
More specifically it implements the GetLCID() method which returns GetUserDefaultLCID(), and that's why VBScript_SetScriptSite() initializes the interpreter with a code page that matches the CP_THREAD_ACP code page (the code path is pretty different but as far as I can tell it resolves to the same in the end).
That said, even if our test did not implement the GetLCID() method, then VBScript_SetScriptSite() would also default to GetUserDefaultLCID() so we'd still end up with the same code page.
So I don't think we need to modify the implementation.