I have encountered exactly the same problem. Whenever I logged in BA kept sending me the SMS code to my old mobile number - which I no longer have. My current / correct mobile number is shown in my BA profile. Whenever I logged in, there were 3 options: finger print / face recognition, SMS code, recovery code. I don't use finger print / face recognition, SMS code sent to the wrong mobile. I did not know what the recovery code was. In desperation, I did what @tonymc did - trawled through my emails and thankfully found the email from BA back in March 2022. I used it and hooray I was able to log in (a huge sigh of relief). I have sent BA emails to securemyaccount (it bounced) and dpo (got an acknowledgement - so hopefully they would be able to fix the SMS code to the correct mobile). But I also read in headforpoints that the issue has not been fixed.