I truly believe the low level fundamentals are crucially important. Even today, in the days of Python and Javascript.
Not to go too far, about a year ago I was working on an embedded board we designed which used MicroPython. The communications protocol required IBM CRC-16 to be calculated. MicroPython could not run this calculation fast enough. Since MicroPython allows you to insert code in assembler, I just wrote the CRC routine (an many others) in ARM assembler. The performance boost was, as one would expect, massive. Writing the code wasn't a problem at all given my background.
Having this knowledge also allows you to reach for optimizations that someone who has only seen high level languages and (as posters elsewhere in the thread have revealed) don't understand low level code or even binary. A simple example of this is that comparing to zero is faster than comparing to a value. The simple explanation being that you have to juggle registers and perhaps even read and store that value from memory every time you go around a loop. All processors have the equivalent of a JZ and JNZ (jump if zero, jump if not zero) instruction, which does not require anything to be fetched from memory or register swapping. Of course, this is processor and task dependent.
And then I wonder about such things as DeMorgan, bit-wise operations, masking, etc. I was surprised to read some of the comments on this thread about people not being comfortable with binary beyond 1=true and 0=false. I don't understand how someone can develop non-trivial software without having a solid foundation. I mean, even for CSS you should understand what "FFC21A" or "3FE" means, where it comes from and how to work with these numbers.
The pathways formed by all those fundamental and low level operations create capabilities and reasoning strategies that are very valuable. Perhaps they are even unachievable in other ways.
My first program was Machine Code, designed on a pad of lined paper, and punched directly into RAM, via a hex keypad.
These days, I write Swift. It's nice to not need to deal with the way Machine Code works, but I'm glad I learned it.
That said, everything we learn takes up NVR, so there's a strong argument to be had, against the need to learn below a certain fundamental floor.