I would seriously consider doing the internship at big tech. A majority of startups don't make it, and unless you are joining a very early stage startup the upside is low. Even if the upside is high the chances of success are low. Of course it depends on the startup.
If you go to those big names you can get brand name on your resume. Will set you up to get more interviews in the future.
There is of course the layoff risks, but we have seen layoffs in both startups and big tech. Layoffs may be more common in startups especially since VC money has dried up quite a bit compared to the past.
As for a master I feel like this depends on what you plan to pursue. If it's AI/ML/Graphics related then a masters would have merit in contrast to if you are on a product team. Honestly, I have seen people with masters and regular CS bachelor and there is no difference in skill between the two.
Also for your #2, you will need to pass a test to get PR first in Canada. Getting PR might take you a year or two to get, then if you want to get citizenship you have to wait 3 years before applying to citizenship. Only then would you qualify for a TN Visa. So you basically have to spend 4-5 years in Canada if you want to go through that route.