I like your expansion upon it :)
I definitely do agree that "onboarding" could be improved. How I dunno. To me at least, it seems like I hear a lot of success stories from the tails of the spectrum - power users and developers on one side / the complete opposite on the other. And then for everybody in the middle, there's no other way to put it than it's almost a shit show:
On the software side there a million and a half different ways to do everything, and often an insane amount of "noise"/outdated info that needs filtering through to find what's relevant to your specific needs. Even at the lowest levels of the stack there is no "the one way", and I think all that uncertainty (especially from the beginner perspective) can make it feel like climbing a mountain.
Hardware, as you mention, is tricky if you don't know what to look for (and why would most people). At least from a longtime Linux user's perspective, it's incredible how much better things have gotten (since the 2.2 days in my case). But there's a ways yet to go, and it's by far the roughest where it's the most visible (ie the trendy bleeding edge). Part of that is just the nature of "lag" in open source development between code getting written, released, and finally showing up in your distro. That cycle can sometimes take 6 or 8 months, especially for hardware :(
Not that this helps users with existing hardware, but
* definitely always google before you buy (model name + "linux" and read the first page or two of results)
* stick with a non-high-DPI resolution screen
* WiFi, I've had the best luck with Qualcomm/Atheros, Intel, and Realtek (in that order)
* Graphics, get AMD. NVidia cards can work well enough with their proprietary driver, but the out-of-the-box experience is crap. Intel works great too, as long as you don't need it for anything heavy.
* Audio, for me the last time I had trouble was with one of the earlier Sound Blaster Audigy cards. Have stuck with onboard codecs since and honestly never had a problem.