is it better to learn python or java to build a cursory understanding of programming, and then c and x86 to see what "really" happens "under the hood?" or the other way around, starting from base operations and then layering abstractions on top? I don't think one is strictly better than the other. when I first learned sql, joins were intuitively obvious to me but bewildered the person I was learning with, despite the fact that he'd been in IT for years and I barely knew how to program, because I happened to know set theory. I wonder what it would be like to do the traditional algorithms and data structures stuff before ever learning to program. it might make picking up a lot of details easier! I wonder why we don't teach children logic gates and binary arithmetic before they learn decimal. it's actually simpler!
in general I don't think there's a good reason why you must teach raw technique before practical application, or a concrete special case before a broader abstraction. even an impefect understanding of something "higher" can give you hooks to attach information about something "lower." familiarity and comfort and an understanding of interrelationships between knowledge is so much more valuable than perfectly executing each step on a given track
when I want to get acquainted with a new field, I usually start by reading current research, barely understand any of it, and then work backwards through the author's previous papers and the papers he cites habitually. my cursory grasp on the latest version makes it easier to understand earlier sketchier versions, and at the same time the development history of the older shines light on the newer. sure you can always "start with the greeks" as it were and work your way up, but I don't think this is objectively better than going the opposite direction
really I think of knowledge as more a highly interconnected graph than a series of linear tracks. as long as you can anchor something somewhere it's valuable to pick it up. it can reinforce other things near it and you can strengthen your understanding of it over time. and getting into the practice of slotting arbitrary things together like this is good training for drawing novel inferences between seemingly disparate topics, which I think is the most valuable form of insight there is