Your company is gaslighting you. None of those reasons are valid. The first one is the closest to the accurate answer, but the real answer is "because we can hire people in your area for this rate". Try contracting, for a US company, for US rates; set a rate that's comparable to what other US contractors charge, and don't take clients that want to negotiate your pay based on your location.
You might also try building some reputation on Open Source projects with a strong community, the type that's regularly being hired for. Get referrals from your colleagues in that project for people looking for employees or contractors. Cite the rates your colleagues make, and don't accept location-based reductions.
(Also, make sure you have a job or contract lined up before you leave, unless you're really confident you can get one at the rate you want.)
As a web developer, I would really like to get involved in Open Source software and give back to the community a bit.
But the amount of options is overwhelming tbh, and the skills needed for open source projects are far from the backend API's the industry usually needs.
You might also try building some reputation on Open Source projects with a strong community, the type that's regularly being hired for. Get referrals from your colleagues in that project for people looking for employees or contractors. Cite the rates your colleagues make, and don't accept location-based reductions.
(Also, make sure you have a job or contract lined up before you leave, unless you're really confident you can get one at the rate you want.)