Earlier quoted context omitted.
You can "peel back the layers of abstraction" without a CS degree, all it takes is time and (admittedly rare) dedication. Webservers, operating systems and books on theoretical CS are all out there, you just have to be interested.
It's possible to learn most things through self-study. But the vast majority of people will only learn the parts that they find fun and interesting. They generally won't wrestle with the tough sections in a systemic fashion, the way you are forced to in a decent CS program. For most people (even most professional developers) the only practical way to gain the equivalent knowledge you'd get with a CS degree, is by get…
I went way beyond what any CS grad does, and it cost me nothing in money and less time than a CS degree. If you're motivated you can beat a university CS education - it's actually really not that high a bar.
I agree with you that most people won't do that. I was home schooled so I have a different attitude about learning than most people - and that's made all the difference. But is fundamentally a problem of motivation and goals, you don't need university for either.