Both the Indians and Chinese are almost certainly poor. At least 95% of India is poorer than the bottom 5% of America, and about 80-85% of China is.
http://economix.blogs.nytimes.com/2011/01/31/the-haves-and-t...
Granted, they might be rich by Indian/Chinese standards, but that's a far cry from actually being lower middle class in the US.
I'm not sure it is more likely for Chinese/Indians to enter STEM fields than your various aforementioned demographic groups. The ones who do enter STEM fields are more likely to immigrate to the US, however...
In poorer countries - especially those with fairly unequal societies, hiring help is cheaper - not just absolutely, but proportionally, as well, so it's much more common. I read some economics discussions of this years ago, but don't really recall the details.
In other words, an Indian is a lot more likely to have hired help than a Norwegian, even if the Norwegian is better off.
Incentives are a much more plausible explanation. The US pays people not to work. India doesn't.
You might be a "rich" corporate lawyer living in Bandra, but that doesn't mean you can afford a car, or more than 1 room/person for your family (most poor Americans have these things).
2) If they are poor, why are Chinese/Indians more likely to get into engineering/compsci than other demographics that are more local, such as poor African Americans / Hispanic Americans? I've worked in tech in the U.S. for the last five years and have met very few male African Americans / Hispanic Americans despite working in cities with high populations of those demographics.