There is no "significant" advantage to this kind of separation, third party PC games never suffered because of it, in fact I'd argue the separation on a well equipped PC gives it more available bandwidth for either the CPU or the GPU, while consoles have to fight over bandwidth for both the CPU and GPU, which often made one of them suffer greatly.
A lot of CPU savings though. No need to copy data. And they can actually have situations where the GPU can calculate the hard stuff and the CPU doing the branching etc. PC has traditionally not had any issues because the CPU is so strong. I'm not sure how long that will be true for when next gen matures.
Is there anything that can be done on the OS side by MS through software? As far as gaming is concerned what could (realistically) be done?
As I understand it (admittedly not much so go easy), it's not just about transfer speeds, but the ability to decompress data fast enough is what is currently bottlenecking games from performing that much faster.
Compression is one aspect. A lot of people get caught up on 'speeds'.
I'll give you simple analogy.
You need to move homes from old to new and you are driving across a very far distance. Consider what you move to be the 'amount of data'.
You can either fill a really big truck with a lot of stuff and then drive it over and unpack it. This takes a lot of time to fill and unpack a truck. But you only took 1 trip and you can go back and forth to do this. (the time it takes to pack and unpack and drive it over to the new house is called latency). You must always fill the truck to the top, so if you want something small, this is a PITA.
or you can use a car, fill it quickly and send them off to unpack and go back and forth. (because the stuff arrived faster, there is less latency). You must always fill the car as well.
The only catch is that the person at the new home tells you what to pack on the truck using a cell phone. It may not all be lined up so you're running around the old house looking for stuff. (this is called seek time)
So you have a situation where you are trading bulk data loading for faster response and vice versa.
When people talk about transfer speeds, they are only looking at the amount of data. But that isn't actually the behaviour of a hard drive. Some hard drives can get significantly more performance out of moving trucks but really suck at the whole small car bit. While others are good at both cars and trucks. Some hard drives are better at finding stuff, and others are worse at it. Some hard drives have a 'loading area' in which they search the house and fill the loading area so that the car can leave while others take the stuff from the loading area and unpack it into the house.
So in this case, SATA 3 is generally not good at Cars strategy. But SATA 3 with SSD is better and it has better seeking times. SSD and SATA 3 is really good at the truck thing, and hard drives aren't too bad at that either. NVME is just better at everything flat out. But it's truck strategies are still better performant than it's car strategies.
Or to put it in analogy sake - SATA 3 only has 100 vehicles to run, you can choose them to be trucks or cars. NVME has 10,000 vehicles it can run, you can choose them to be trucks or cars. But the more vehicles you have the more harder it is to manage, fuelling them all, parking them all, more drivers etc. (this is called overhead)
So you'd have to purposely design a game to run a car strategy to croak older technology and ensure it only runs on the new tech. I'd like to read about the use cases in which developers have always wanted to do this. Aside from SC, I haven't seen anyone else do this yet.