I have the same problems as most people: it's a separate subsystem, which means you either need special integration or simply can't do what you want to do. The filesystems aren't the same, the devices aren't the same, the networking isn't the same, and all three are pretty much needed for daily work.
I suspect that most things that you can do in mingw64 will work the same in WSL, but things you need to do beyond that are basically broken in WSL and sub-optimal in mingw and almost always gets you to a point where you need a VM.
At the same time WSL has super limited benefit if you don't need any of the windows stuff, it basically means you are using linux inside windows but not using windows. When you use 'shell oriented workflows' on macOS, it just works, be it with BSD vs. GNU diffrences, which are easy to overcome by either learning or installing GNU versions of the tools you want (using a package manager like brew). In this setup, everything is the same system, what you do in the GUI also exists in the CLI, they interact directly with eachother, maintain state equally well, integrate directly with the rest of the OS, and basically has desktop functionality that isn't in the way of your development capabilities.
The only downside you can expect is if you need native windows development or windows-only tools, for everything else, windows doesn't really count anymore in almost all environments where I work (which is mostly retail, ecommerce, FOSS, infra). Only a small subset of things (large in quantity, small in configurations/versions/specific needs) that are managed by MSP's are still embedded windows or enterprise windows.
We do have a few people that actually like windows (be it the GUI, long time experience or simply brand affinity), but that's about it.