the OS needs to be NUMA aware, but both Windows and Linux already are.
"NUMA awareness" can mean anything and nothing.
Performance degradation due to NUMA can be prevented by
– manual performance tuning by the admin (not happening in usual client scenarios),
– automatic performance tuning by the application (likewise not happening),
– automatic performance tuning by the OS.
For the latter, and a memory setup like you describe (1 NUMA node with CPUs and memory + ≥1 NUMA node without CPUs but with memory), the operating system kernel needs to perform transparent movement of virtual memory back and forth between near and far physical memory, based on how the virtual memory is being accessed. And of course applying heuristics, which can backfire. Copying memory has its cost obviously, so there needs to be a balance between trying to keep heavily accessed memory near on the one hand, yet not pulling pages from far to near memory (and vice versa) too eagerly on the other hand.
Linux
does this optionally. I am not up to speed whether or not this is enabled by default in popular Linux distributions. As for Windows, I don't know if it can do that (or rather, which Windows editions can do that), and if yes, if it is enabled by default.