My advice to the OP: you already have a good portfolio. Network with professors with whom you are on good terms, friends who have already entered the work force, public-ish open source figures in your areas of interest. Ask around if they have openings for even intern work (which does not imply CRUD!). Once employed, as your co-workers and managers recognize your talent you'll bubble your way up to a well-matched position, from which point "normal" career advice takes over.
As someone who has worked in the distributed/embedded space for a few years now, the biggest complaint I hear from management about hiring is that finding talent, even "green" talent, is hard. There's not enough interest in the space. Managers love recommendations, and someone like a university professor who has seen your work and interacted with you is perfectly positioned and glad to recommend someone promising to their industry friends.
Granted, location probably plays a big part in this. My experience is limited to the Boston area.
Side note, I've never seen frontend/CRUD → backend/embedded/distributed/what-have-you treated as a promotion path, not even across employers. The teams doing CRUD work for a product are usually organizationally or geographically separated, or even an entirely different company, from those doing the type of work you're interested in. Frontend/CRUD isn't "drudge work" to get to the position you really want, it's just a different job description entirely.
Nothing will ever replace starting at the bottom and working your way up. This takes time, sweat, and sometimes tears. I started at 18 and am now 36.