At the moment my only two issues with Optimus are that they crash X on wakeup if loaded, and that DPMS doesn't seem to disable properly after the screensaver ends. For the earlier you can add an a suspend hook to unload the nvidia modules, and for the latter you just need to switch to a tty and back to get the screen working again.
Both are somewhat annoying, but far less than only being able to use it in a VM. That said, I'm curious about how you manage the VM output, considering that PCIe passthrough requires a dedicated screen.
I normally run the GPU headless for machine learning. In the rare case I need to access the desktop shell of the VM, I just connect via Chrome Remote Desktop.
In the even rarer case that I wish to play a game, I have an HDMI connection between the GPU and my projector, which I can enable with a remote control.
Learning how to use qemu is a bit of a pain (hint: use qemu directly, virus is a huge waste of time) but after the initial learning curve the setup is seamless for my use case - and I feel safer without the GPU drivers having access to my normal desktop. I much prefer this setup to dual-booting Windows for gaming. The VM spins up in a few seconds and shuts down when not in use (turning off the GPU in the process).
Both are somewhat annoying, but far less than only being able to use it in a VM. That said, I'm curious about how you manage the VM output, considering that PCIe passthrough requires a dedicated screen.