Here are some reasons why quality drops with foreign / powerless workers:
* Job is an asset. More so in poorer countries where even a low-paid US job makes a huge difference in terms of earnings in local currency. This is also, to a lesser degree what happens to visa workers. Fear to speak up. Fear to say anything that contradicts boss' plan. Losing a job like this has much more severe repercussions to the employee than if they were locals who can simply move on to another job just like the one they were fired from.
* Comprehension. No matter how good employee's English is, it's still the second language. It will make communication difficult. Beside the language, it's also often that employees who live in poorer countries have never seen either the equipment they are writing for, nor the customers who are going to use their products because simply don't exist in their countries. We rely on such shared experiences when we communicate the goals or when omitting details we even don't explicitly think about, while to the foreigners this could be completely unknown and unexpected.
* Work ethics are different between cultures. Vertical relationships in work hierarchies can be very different in different countries, which can easily prevent vital information from reaching its target. The desirable properties of employees are evaluated differently. Also, different cultures will have different ways to slack, which may not be easily recognizable to the other side.
----
In other words: it's hard to reliably transfer ideas (s.a. requirements, acceptance criteria, compensation etc.) across cultures, and this leads to failures. It's not necessary to put the blame on just one part of the team: both teams fail to communicate, and to ensure quality... but this also means that either teams' complaints are very legitimate and relate to some objective reality. Although some may start jumping to conclusions that try to explain this through racial stereotypes... actually trying to interpret the real problems through the scope of racial stereotype is what's bad about said stereotype.