The real surprise was mostly that python3.exe isn't included in the 3.9.x download, despite the documentation mentioning it in a few places. Since the error message didn't name drop the executable, and it appeared python was otherwise installed and working (and even available as "python" on PATH) it took some sleuthing to locate the real issue. I'm sure there's a better fix than copying "python.exe" and renaming it "python3.exe" but that worked, and I had stuff to do, so it's fine. :)
> even after installing Python from the official website, if you happen to run a script that executes "python3" instead of "python", you'll instead trigger an unhelpful link to the Microsoft Store
This is no different than macOS. If you don't overwrite the existing stubs, you get the "install xcode" message when running git or cc.
But if Apple does it, it's OK because they're the good guys.
Many users use git from homebrew; once you do 'brew install git', the stub won't bother you, despite homebrew not overwriting anything. It is just earlier in the $PATH. And that's the issue with Windows: the standard installer does create python3.exe, it is just later in the %PATH%, because Microsoft placed the stub in one of the early directories. Normal, well behaved installer, which places its entry at the end won't be able to override anything.