I have found a solution 2 years later. This is for those that have a hotmail account where the security code is not being received.
Check this fam:
1) Go to outlook.com and sign in to your email (the outlook one of course).
2) Click into the settings cog wheel to open up settings.
3) In settings there are options for General, Mail, Calendar, People, and Premium - select Mail.
4) Select Forwarding and IMAP. You will need to renter your password here.
5) Once signed into this, scroll down and select the blue colored font Manage or choose primary alias.
6) This will populate another screen titled Manage how you sign in to Microsoft - here, let's select Make primary beside your hotmail email address (this worked for me as I had not removed the alias yet, you most likely have not),
7) Once you have this set as primary, attempt another login to have security code sent out. I had to wait only a minute or two but this showed for me. Keep in mind you will want to switch your outlook alias back to outlook email address but wait to do this until you change your main EA email address as this will email another security code to hotmail address to allow change. BUUUUT this actually still sent the code to me as I switched my alias back to outlook address before changing my email in EA. Anyway, hope this helps a good amount of you.
I feel like adjusting the primary alias rewoke the system to know that our outlooks should be receiving those hotmail emails.
All the best bros