From the perspective of a Western-European software-engineer, I must say, I don't see a problem here. This sounds, at least to me, like a Californian company using software-engineers from Peoria (US-Midwest for my fellow Europeans).
I don't think anybody in the US would say that that is bad idea and that that is a "outsourcing to 'far-east'". They would see this as "normal". Yes, salaries in Peoria are significantly lower than in Silicon Valley or NYC, at around the same level as (e.g.) Munich (Germany) vs. somewhere in a town in Ukraine or Romania (not Lviv, UA or Cluj, RO).
So, what is the problem? So long as we are talking about EU or EU-close countries such as Ukraine, I don't mind having colleagues there. Quite the opposite. They are really good engineers, yes, travel to their places takes a few hours, they are in the same time zone and the distance is (form e.g. Munich) like from Austin to East or West Coast.
As a freelance software-engineer, I know I *could* be replaced by my customers. But then again, they would do so if they had a better engineer from anywhere in Europe.
But India? None of my customers would get freelancers or subcontractors from further away than Europe (maybe including Turkey). The reason is that for most of them the cost-benefit would be completely outweighed by the additional overhead of managing the outsourcing.
Long story short: if you are a low-skilled, keyboard-entry drone who just enters into program code what someone else has thought of, then, yes, you can be easily replaced and it doesn't matter whether your replacement is next-door or around the planet.
But: if you are a highly skilled engineer, who is involved in the overall product planning, design, problem description, solution creation (which I see as the actual "Software Engineer Work"), then, no, you can not be easily replaced with someone around the planet.