Point taken. I'd still argue that starting with a top level language and working your way down is an equally valid approach, alas I can't claim this to be more than my own personal opinion.
Well, maybe it matters less how a person starts learning and more how dedicated and passionate they are.
Apart from theoretic fundamentals, one thing I also find important is to learn new programming languages every now and then. You may never use the language in production, but being exposed to new paradigms and design philosophies can vastly increase your toolset for future endeavours.
Sometimes this can be harmful when people try to learn too many languages and end up being a very mediocre programmer with no specialization. As for paradigms, a lot of modern languages have both object-oriented and functional capabilities, so programmers can learn multiple paradigms without the need to learn a new language.
I hope my posts are not drifting too far away from the topic, as I want to add one more advice based on personal experience.
Nowadays there's a lot of courses, online lessons, tutorials that try to teach programming and while they can be great entry points for begginers, I feel like their educational value quickly decreases as soon as a person grasps on the basics of programming. I think the best way to learn is by trying to solve progressively harder problems, reading docs and good technical articles.