I'd recommend doing the ML specialization and just picking up SWE in various class projects and side stuff along the way.
The government runs a tool called the Job Bank [1], and it can be used to examine labour market information associated with job title.
Checking "Software Engineer" [2] shows 429 job postings associated with the title "Computer Software Engineer" on the Job Bank. Then comparing that with "Machine Learning Engineer" [3] which only has 60 job postings. Then also you can look at the "Prospects" tab for each and see that there's a lot of uncertainty around "Machine Learning Engineer", while the prospects for "Computer Software Engineer" are well established and look pretty positive.
There's more to look at, as there are quite a few jobs associated with the idea of a "Software Engineer" (For example, "Web Programmer" [4]), and so depending on what you're interested in and what's offered at your school, you may see different prospects as compared with the generic "Software Engineer".
[1] https://www.jobbank.gc.ca/home [2] https://www.jobbank.gc.ca/marketreport/summary-occupation/54... [3] https://www.jobbank.gc.ca/marketreport/summary-occupation/29... [4] https://www.jobbank.gc.ca/marketreport/summary-occupation/22...
Personally, I would go for foundational knowledge. Going with where your interests, aptitude and talents lie is more fruitful in the long-term.
The most employable folks right now are the Machine Learning engineers that mix both sets of skills.