Then why is there a "GPU Preference" setting, what does it do?
It changes what the application asks the system for. Sometimes the system will comply with it, and so the setting does take effect, but sometimes the system will disregard what the application asks for and so the setting does not take effect.
Applications can't override system preferences. This has been a problem for years with dual-GPU laptops. If the system software does not apply the right preference, you'll need to contact the GPU manufacturer, as it's out of our hands.
IIRC there were some hacks you could use to try to force applications to use specific GPUs with some vendors, but I don't think they were ever officially documented, so we didn't implement them ourselves. You could give it a go, but it would be at your own risk.