Android 10 is a long way back, but if you want to do that then sure, find the most recent Android 10 for the device you can (but see the next paragraph first). But I'm using the final Android 11 update on my Pixel 2 without problems, so this isn't a universal problem (the lack of other reports suggests it's not widespread). And the bit about your son having the exact same problem raises questions about whether a system update really is the cause, because the Pixel XL received its last update in December 2019, a year before your problem started. So whatever the cause of his problem, if it's the same cause as yours that cannot be due to a system update, so it's either something else behind both or it's just a coincidence that you are both having similar problems.
Since reverting or installing a custom ROM will require a factory reset, why not first try backing up your data, resetting the phone, then seeing whether that fixes it? Over the air updates can occasionally cause problems even when there's nothing wrong with the update itself: the problem is that everyone's phone has a different set of data and settings, and occasionally a particular phone may have something that causes a conflict with a new software update. This is more likely if there is a major update. Ideally you'd always do a reset before installing an update (if you are changing custom ROMs this is mandatory), but obviously that would be a massive inconvenience and most users wouldn't tolerate it. But the price of convenience is that occasionally something will go wrong. So in general if an update causes problems the first thing to do is just try a reset and see whether that fixes it before doing anything more radical.
"Most stable OS" is a bit too nebulous for there to be any information really. Occasionally a model may get an update that produces instability in a subset of devices (instability in a majority is very rare, because even basic testing before release will spot that), but then you're talking about one specific update to avoid rather than identifying a most stable version. On my Pixel 2 I had a couple of updates in 2018 that would result in my phone restarting once every 10 days or so, but that's the only instability I've ever encountered, so stability has been pretty much constant for the last 3.5 years, no matter which release (even the late betas of forthcoming Android versions were completely stable).
A custom ROM is unlikely to be more stable, but I've not rooted my Pixel (first Android phone I haven't rooted) so can't speak from experience. The ROM development at XDA for the Pixel 2 has never struck me as terribly active - I think the 2XL got all of the development effort that year, but ROMs are device-specific so that doesn't help you.