What ive noticed is that people have different strategies to learning. Most adopt a "just in time" approach. They learn only enough to complete the task at hand. There is very little curiosity in the bigger picture, or the fundamentals.
This is the opposite to the formal approach, which grounds the learning in theory.
can people learn the fundamentals in a self-taught way? Obviously yes. Do most people learn this way? Id suggest not.
The contrast is to students at college who are always asking "hey am I learning this? When will I use this?" It's not always obvious where they become important.
In my own career I was able to leverage my fundamentals training and translate that into value to those who just want to complete a task.
Yes, it started to shift 25 years ago already, but what has obviously changed significantly is that software development became a good paying job, which attracted even wider masses not caring about the fundamentals. There are certainly more self-taught programmers who dive into those fundamentals in absolute numbers, but relatively they are more of a minority. But that means that there are even more who do not care in absolute numbers.