So, for example, the UCSD Math CS major fits your interests more closely than a CS or DS degree?
Here is some info from the UCSD Math department undergrad FAQ:
Q: What is the difference between the Math-Computer Science degree and a Computer Science and Engineering degree?
A: Mathematics-Computer Science (MA30) is a major that has a strong foundation in mathematics and computational logic; it is not a technical major in computer science or engineering. There is not a lot of emphasis on programming and engineering solutions, but rather looking at algorithms of computation and how mathematical logic is used in computer science. It is foremost a mathematics degree with a limited specialization in computer science; students will study computer science with a mathematics perspective. The curriculum is concerned with topics like computability, combinatorics, discrete math, probability, and logic.
Career-wise this major will give students more background in computer science than any other math major in the mathematics department; however, it is not designed as a alternative to the computer science majors in Jacobs School of Engineering. It will prepare students with the technical and logical skills inherent in the field of mathematics with an applied background in computer science for those interested in using mathematics in that discipline.
Q: I applied to UCSD as a CS major but was accepted as undeclared. Is Math-CS a good second choice major for me?
A: There is no single answer to this question. It will vary depending on your interests in the field of computer science. The Math-CS major would be a good choice for you if you are interested first and foremost in the mathematics of computer science (algorithms, combinatorics, probability, logic, discrete mathematics, numerical analysis). If you are more interested in software programming, data science, artificial intelligence, bioinformatics, computing and the arts, or computational physics there may be better options for you offered by other departments.