The scheduler might be able to do it, but apps like games can always pin their threads by hand.
I'd expect some kind of predictive AI that analyzes thread behavior to be able to help. But not sure if anyone tried making a scheduler like that.
You can get pretty good heuristics by looking at graphics API usage.
On Linux you could just put the appropriate taskset or numactl command in your game shortcut, it's pretty easy.
I guess the hard part would be distinguishing between "a video game getting inputs" and "discord app getting push to talk key", but at the moment you moved all of the noninteractive system stuff to slow cores and only "things using keyboard" on fast cores it's already pretty good approximation.