no, that's not why they are not entering those programs. we may have problems with our public high schools, but there are still plenty of them producing qualified students who are smart enough to enter engineering programs.
the problem is, the opportunites they have when they graduate. young people see other fields as more lucrative, less prone to offshoring, having more stability - so they enter those college programs. law, real estate, financial services, health care, government, teaching, hotel & restaurant management, etc.
indians aren't better prepared or better engineers - they just work for $25K a year. don't over analyze the situation, its all about the $$$s.
$25K???? Try $6-10K.
As a current student at a college with a strong engineering department, I can tell you that those who do drop engineering generally do so because it's too hard, and instead generally go into teaching or some lower-paid field. Engineers (along with accountants) generally have the best career prospects of those who stay with an undergraduate degree.