I was on approach to Ho Chi Minh City when my approach controller cleared me to line up for the ILS Approach on Runway 07R, as I had requested. However, after contacting the tower controller and announcing that I was inbound on the ILS for 07R, they cleared me to land on Runway 07L.
Since this wasn’t my runway, I requested a runway change to 07R, which was my runway all along, as I didn’t know how else to let them know that I wasn’t lined up for 07L. However, the controller told me that I was unable to continue onto 07R, so I wasn’t sure if I should declare a missed approach or if I should change to 07L.
I decided to continue my approach as I had been in a holding pattern for almost 20 minutes and didn’t want to miss my landing window, so I announced that I would come in for a visual on 07L (I didn’t have time to retune my ILS localiser). I was only at about 2000 ft at this point, so I had to quickly line up for the new runway while maintaining my position on the glideslope.
Should I have changed runways at the last minute as I did, or should I have announced a missed approach? More importantly, how did this miscommunication occur between myself, and the approach and tower controllers? How can I avoid a situation like this again?