It's dead simple in Gnome. In the settings menu, under Universal Access, just check the box that says "Screen Keyboard".
Edit: There is a workaround (switch user button, enable, go back), but there are other desktops with no work around, like Cinnamon.
The freedom to choose MATE, which doesn't solve this issue for you, is included in that statement. But this "Highly customizable" vs "uniform experience" on the other hand, are mutually exclusive descriptors.
Freedom of software choice includes the freedom to take away complexity. In this case, assuming that you have a keyboard and it interfaces in the usual way, without overlapping the screen, and that it works and you can use it, all drastically simplify quite a lot of complexity that the developer would otherwise have to prepare consideration for on your behalf.
Don't you prefer that developers of orthogonal software packages each are individually free to spend that time on other concerns? I'm almost certain that you could also be starting from the gnome login screen into the MATE desktop manager, or use MATE with LightDM, or some other login screen that does support on-screen keyboards, if you really need it.
And sure, that's extra work for you, and it's sometimes a little bit harder than configuring Windows, but you only have to do a customization once if you're happy with the result.
The phenomenon of the "current Linux distro" is an interesting one, too. I used to be a desktop Linux evangelist (guess I still am too, but now I use a Mac since it's what they handed me at work...)
Stuff like this is why I always recommend Debian Unstable for a desktop for developer use. Finding out that the developers already fixed a thing that's bugging you, but you can't have it because the reviews and publication process which puts the fix into your hands won't take place for another 3 months is infuriating.
It is transparent though, even if it's infuriating. And you can also choose to use Debian Unstable, which I found in many years never to have been a bad decision.
Debian/sid has its freeze phase, which makes it less of a rolling release, and can contain quite unstable software at times.
I see a lot of potential in declarative distributions (NixOS, GuixSD, and others), but in the end, you just have to pick your tradeoffs ahead-of-time: stability, ease-of-use, documentation, userbase, features, recent packages.
I can also see some value to the more "Win32" model where you update apps manually, hence have a different release channel per-app. Declarative distributions can definitely target that, but that's also a possible use-case for Flatpak. And in any case, it's a lot more involved. I wouldn't dread about telling a user to manually update every piece of software manually, if Windows didn't already push them into that mindset.
Correct me if I'm wrong (I don't think this would have changed), but Debian/testing has a freeze phase, and what you say is true about testing.
I don't recommend Debian/testing to anyone because the experience is not consistent, and it does not get fixed packages as fast as sid. (If a package is broken in testing, it's because it has somehow made it through the waiting period without anybody noticing that bugs were present. It may then likely remain broken until all the outstanding bugs are fixed and no new bugs are reported for something like two weeks, which is why it historically can sometimes get so bad as you suggest.) But sid never does have a freeze phase, it's always accepting packages.
As long as they don't have a bug reported against them in something like two weeks while they're sitting in experimental, or something? (It's been a while since I've reviewed the rules, and they might have changed since then.)
I think the bar to get your package accepted in sid is much lower than in testing. But there is still a bar, and that's why the quality is actually very consistently high.
(Maybe not as high as stable, but stable distros are for production systems, not for developer workstations IMHO.)
The only reason to use "testing" is if you yourself are a developer who is actually building software to release concurrently with (and run on) the next stable release.
In Debian testing and stable, you're getting software that has been through a longer and involved peer review process by Debian maintainers. That's not ridiculous, that's why you would use a stable distro in the first place. Because it doesn't put so much trust in upstream vendors to always put out consistently good production-quality releases without adding any new bugs in them.
I don't recommend using stable distros for anything but production machines, and those you keep to approximate them (like say, staging machines).
For desktop stuff, it's harder, because there's often a dependency chain that forces you to upgrade everything just to upgrade a seemingly simple piece.
It could not be more highly customizable, especially the "desktop interface".
If your "desktop interface" is hard to manage, there are literally hundreds of alternatives.
I also specifically named two of the more popular desktop environments with two specific examples of things that are hard to configure.
"Highly customizable, especially the desktop interface"
Basic stuff, like changing the font size in the main "start menu", or having an on screen keyboard for the lock screen is either hard or impossible. Varies, of course, with whether you're running Gnome 3, MATE, etc. But, they all have big quirks.