I totally agree it is wrong. It is historical.
When Windows NT was new, they had this idea that it would be compatible with many different application ecosystems via “sub-systems”. So there were going to be many different “Windows sub-systems” for various things.
There was the “Windows sub-system for OS/2” for example. And the “Windows sub-system for POSIX”. The names still sound backwards to me but I guess it makes sense if you think “This is a Windows sub-system, which one is it?”. And if you have 50 Windows sub-systems, saying “for Windows” at the end of all of them also seems a little weird.
So that naming convention was already in place when they added support for Linux. Hence the “Windows Subsystem for Linux”.
I am not defending Microsoft but I have a different take.
Microsoft has already lost a the enterprise to Linux. They know it but no longer care that much. This is because the real money is in Azure (the Cloud and “the agentic web”). Microsoft makes a tonne of money off Linux and Kubernetes in the cloud. They hope to make even more money off AI. They are ok that this stuff is all Linux based. They get plenty of lock-in from volume contracts and Azure only APIs and services (especially AI sandboxes ).
However, Microsoft knows the importance of developer mindshare and influence. It is still “developers, developers, developers”. They know they cannot really stop devs from using containers and Linux but they want devs using MS software. So, they are building Linux into the Windows desktop.
They hope, I believe, that the devs will prefer the “best of both worlds” Windows experience over the “all in on Linux only” Linux one.
In some ways, they are competing more with macOS. Devs using Linux on the server had been flocking to macOS on the desktop because it is “also UNIX” but with commercial software support and a nice UX. If Linux had won on the server, Microsoft is defending the Pro desktop.