I think that as it stands now games choose their own clocks. I think they do so by making an API call to the OS/Hypervisor/Whatever requesting a clock change, and the system either changes the clock or not, and probably provides a success/fail return code.
It's possible that they could update the OS to just lock a minimum profile while games are running.
If the game requests a profile below the minimum profile it could respond with success and just change the clock to the minimum profile.
It's a bit hacky, but it would probably work just fine.
There's probably also an API call to get the current profile. If that's the case, they'd have to have something hacky to give the games appropriate responses.