>>11861811CS is iffy - at a good program, they tend to be really really good with strong basics in fundamentals and problem solving, and their proof classes are actually pretty good. They'll teach you a lot, and it'll be up to you to choose your concentration and avoid some of the more buzzword bullshit, but this shouldn't be hard.
At a bad or mediocre CS program, they do the bare minimum for math and science, and they focus most of their courses towards the practice of writing software. This is bad since your experience writing software should come from school projects, personal work, and internships, but the class environment itself is too sanitized to actually teach you these nontrivial skills. Instead, what they should be focusing on is the abstract problem solving and mathematics that actually do show up on whiteboard interviews and high tier positions (cryptography, HPC, real time, etc.)
You can partially de-memeify a bad CS program with a double major in math, but this is only if you're interested in the theory of CS. Furthermore, at a good school Math+CS at a good school is a ridiculously powerful combination that can go basically anywhere they please industrially or academically.
On the other hand, EE is good mostly everywhere but ABET makes it so you learn a lot of material without being able to specialize towards a track until late into your career. Since you're a generalist, you'll have harder times in interviews, but EE's can go far because their program is tiered to be able to do many different jobs across many different fields.
If you like embedded, EE is a safe bet, but you can do it with a CS degree and relevant experience as well. Whatever you do, research your undergrad program and see if they match your aptitude. Sorry for the reddit spacing - I just wanted to spread out my thoughts.