I agree on your fist point, but I can't speak to the modern curriculum or how it's tackled, since it's been over a decade since I was in uni. I do know that web dev is only a very minuscule subset of CS. A typical web dev may be able to tell me which algos are inefficient for a given task, but I can tell them why.
The algos you're talking about (BSc in CS) are trivial. I went to a research-focused college for CS and at Bachelors the algorithms you learn are not very complicated, they're only made hard by the students themselves not actually doing any work OR terrible teaching. In fact, I'm fairly sure I could my 70 year old dad the various tree based algorithms, Dijkstras, A* search etc, and he doesn't even know how to program. The intuition behind these things isn't hard to grasp.
In fact, I think I could take any random person off the street, and provided they're motivated, teach them algorithms and data structures to BSc level within 3 months. It's not rocket science and any engineer who makes it out to be like "way hard" is just being a bit insecure over their knowledge.