I've thought about doing something like this before, does your windows machine have its own keyboard, mouse and monitors or do you have some kind of switch involved? I haven't worked out a good way yet of using multiple monitors over two machines whilst sharing audio and input between the two
I have a USB switch, my keyboard and mouse go into the USB hub on my monitor, and that hub is switched between my laptop dock and my windows pc. The monitor input is changed on the monitor. A proper KVM would be easier but is also many times more expensive.
I use my laptop open though, so I can still control it when using the windows pc.
For audio, I use a simple 3.5mm splitter. They work in both directions, so with the right combination of male/female 3.5mm cables you can merge the audio for about $10. There are fancier audiophile solutions too.
Something like synergy (from symless, there are competitors and FOSS alternatives but I can’t remember their names) might be good for your use case, to carry over m/kb input to the non-windows machine.
Bunch of different options. I actually couldn't tell the difference in latency from through a monitor when I just used steam in home streaming / remote play as steam in box streaming / not really remote play.
I'd say in order of seamlessness:
KVM switch or monitor input switch
Looking-glass
parsec, steam in home streaming
I have a KVM switch as well but I kind of prefer to run things in a window.
There's a couple quality of life things about running windows in a VM as well. When it goes on it's update parade I can just close the window and ignore it. And with snapshotting a bad update can just be rolled back.
I have windows machine under the desk with no screen, keyboard etc. I connect remotely to windows via https://parsec.app/ it is super fast, it needs like 20ms via Ethernet (https://www.youtube.com/watch?v=DksBBlHzulY). As long you are no cs-pRogAMer you will be just fine and can access your full windows environment without the hardware hassle. The fullscreen encoding quality in H.256 is also pretty decent.
It also works via Internet out of the box with any shitty office notebook ;)
if you're competitive and want low latency/high framerate: you can do all of this with a single cheap USB physical switch (about $2 on ali express), plus DDC to switch monitor inputs automatically
I have this hooked up, so that I push the switch and the monitor inputs automatically switch
I also have a (cheap) physical audio mixer to do the audio, but you can do the same thing with pulseaudio and a line-in cable from one computer to another