This isn't really my experience. I learnt ASM because I wanted to reverse engineer a C binary. I learnt kernel stuff because I needed to write a device driver. I learnt low level networking by writing an HTTP server in C. I learnt programming language design by writing my own programming language.
This was, of course, before LLMs, but I don't see how I am missing "fundamentals." They generally come if you are building something non-trivial and are genuinely interested in technology.