I somewhat disagree with you about CS degrees. Though my data points are a bit dated. (And a couple academic CS acquaintances feel that there's are department level declines.)
But the standard curriculum I'm familiar with always includes courses where you need to use C, or similar low level languages, to write an OS, compilers, networking stack, etc. And at least one course focused on a system language as a pre-req for those. The push for more practical coursework I think is perceived to have come from industry, which generally would rather have someone who can string some python packages together to do something quickly than someone who's never touched python but can write a compiler or OS from scratch.
That said, I do think it seems like ML topics should fit into standard coursework (wasn't really a thing when I was in school - AI was maybe an occasional elective or grad topic). It seems pretty adjacent to parallel and distributed computing (don't remember if that was optional or required) and statistics, which was not precisely part of CS curriculum, but occasionally discrete math/algo/grammar track adjacent in practice.
But I have trouble seeing how that could fit into 3 years. It's hard to parallelize the intro series of courses that build up to the "fan out" to he higher level courses/reqs, (though maybe stats/ML intro could fit early) and once you hit the fan out, 3 courses take about 80/hrs a week for most of a semester. IMO if you're wanting foundational knowledge and not the "patch Python packages together" it's hard to compress.
One thing that is happening is non-CS degrees with weaker requirements to get to people skills, like BAs in technology and computing, that focus much more lightly on CS and just have a solid amount of "practical" coursework, e.g. "here's how to use the most common Python ML libraries and Django, BTW this would be a great thing to double major in with Bio."