Microsoft is suffering from the lack of such a group today; they're definitely doing it wrong, where "it" is pretty much everything... except pissing off users.
For trademark safety, this is the correct approach. You can say "Blah for XXX" and that's fine but if you say "XXX blah" then you can get into trouble.
It's not a rule, it's just convention. Trademark law is about whether there is confusion about who made the product but not specific wording. Using "Blah For XXX" wording just makes it clearer.
"Tool for Windows" vs "Windows Tool"
The latter sounds much more like it could come from Microsoft. People repeat this because it avoids this confusion but it is not mandatory. A few projects on Github have had to be renamed because they've been challenged and the accepted solution from the trademark holder has has been to switch it around and become "for XXX".
What if you just apply for a free sublicense and you get approved and your massive cadre of attorneys aren't fighting each other over 5 letters?
Apparently some HN people think that MS is so sleazy that they will just go "GPL yoink" and start running/advertising/supporting Linux without notice or consent the benevolent dictator. That's projection.
For a recursive acronym, I prefer LiNT, officially LiNT is NT, and unofficially, either Linux in NT or Linux is Not There, with the official and second unofficial definitions reflecting the WSL 1 architecture where WSL, like Win32, is a subsystem layered on top of the NT kernel, and doesn't rely on any Linux kernel code.
It's not a part of Linux, so it can't be a Linux subsystem. It is a part of Windows, so it is indeed a Windows subsystem. Also it started/replaced a part of the NT kernel called a Subsystem, so it is called a Windows Subsystem.
I don't know where that strong objection to this particular name comes from. MS does do weird things with names, like with Live, .Net or CoPilot, but this isn't one of those, but in fact named quite sensible. Would you also object to the 'Linux kernel module for Android'?
Use of the English language can often lead to ambiguity.
In the case of "Windows subsystem for Linux", it can be reasonably read that "for Linux" means that the functionality applies to Linux, i.e., to provide it with a subsystem that gives it Windows functionality.
Similarly, in the case of "Linux subsystem for Windows", it can be reasonably read that "for Windows" means that the functionality applies to Windows, i.e., to provide it with a subsystem that gives it Linux functionality.