I've worked with teams from Bangalore who were staff of the bank I was contracting for -- they were amazing, but also not appreciably (if at all) cheaper than employing someone in London or New York.
Several well-known banks had large offices, and competition for talent was high. No race for the bottom there.
It doesn't particularly matter where you employ people, if you're trying to save costs by paying people less then you're going to have a bad time.
Good engineers will accept lower payment if their costs are lower. Similar to how amazon is operating, by lowering costs, minimizing margin, they can win over customers and win the market.
Conversely, if there is a shortage of known-to-be-qualified engineers then anyone who is any good will command a high salary regardless of their cost of living.
If you want to pay them lower wages, they'll work for someone else instead.