I'm currently in a master's degree in data science and I haven't really felt like what you said was happening; we were taught just the right amount of theory (how things like backpropagation, PCA, statistics, optimization work) but more advanced techniques were described only briefly, just so we could understand how to use them in our assignments, which makes sense given the little time there is. There was much emphasis on making use of a wide variety of techniques in practical scenarios.
I think a big difference here is program scope. A data science program is directly applicable to data science career because the scope of the program is very narrow. Whereas a computer science program is going to cover a good bit of material that is not directly applicable to a software engineering career.
I would argue a data science degree is less a Computer Science degree and more Mathematics degree. Programming is simply a tool. The real meat of it is the maths.