Even if there was an easy way to run windows headless and microsoft didn't charge per-core licenses I actually think the platform itself is the issue--
It's that windows isn't POSIX compliant. It's easier to port libraries, etc. to run on OSX than it is on Windows. There's all sorts of weird gotchas when porting to windows as well. Setting up many language runtimes, compilers, etc. is all very different and oftentimes poorly supported. There's far smaller of a critical mass of libraries that will run on windows either (natively not on a VM).