As you surmised, the latter is more focused on algorithms and data structures as the basis for solving problems. Your gut response is good. Go with your gut.
A math degree. You're confusing data engineering and data science. There are plenty of people who work on theory and do little to no programming.
Machine learning is a CS field. It emerged out of CS. Any claims to the contrary are hokey revisionism. As to what "data science" entails, that's become a super loaded buzzword, so I'm not even sure where to begin. And "data engineering," please don't even. Just fancy terms for statistics and discrete math.
Plus, I could say the same thing about ML. It's just graph theory, linear algebra and calculus with some statistics mixed in. Where's the absolutely necessary programming? There are plenty of opportunities to do ML theory with little programming, if any. There absolutely needs to be a distinction between theorists and engineers, because they aren't the same thing. Most of the programming is the grunt work you pass off to the engineers.