In a comment, HotLicks wrote:
Just to make sure it's clear: In North America the term "Indian", without any qualifier, was pretty much universally used to refer to "Native Americans" and their related languages, customs, and territories from 1492 until 1950, at which time the transition to "American Indian" and then "Native American" slowly began. That transition is far from complete, and if you say "Indian" in the US, without some contextual clues, your listener is almost certain to be unsure which culture you are referencing.
Let me add that for people who have Native Americans living among them, or who have a reservation close by, the word Indian, absent other indicators, will naturally be taken to mean the people whom they’re close to in their common experience of everyday life.
The British “do not do this” for several reasons. First, they have a long association with India; America does not. Second, America has a long association with “Cowboys and Indians”; Britain does not.
Here from Politico is the normal context of the word Indian in these American lands:
“It’s very troublesome,” said Caitrin McCarron Shuy of the National Indian Health Board, noting that Native Americans suffer from the nation’s highest drug overdose death rates, among other health concerns. “There’s high unemployment in Indian country, and it's going to create a barrier to accessing necessary Medicaid services.”
Native Americans’ unemployment rate of 12 percent in 2016 was nearly three times the U.S. average, partly because jobs are scarce on reservations. Low federal spending on the Indian Health Service has also left tribes dependent on Medicaid to fill coverage gaps.
“Without supplemental Medicaid resources, the Indian health system will not survive,” W. Ron Allen — a tribal leader who chairs CMS’ Tribal Technical Advisory Group — warned Verma in a Feb. 14 letter.
As you see, Indian already means something here. You wouldn’t want people to get confused.
I know you will find this hard to believe or perhaps sympathize with, and that it will unfairly make you think less of us, but most Americans know very little about Asia let alone India, except that it is a huge and inconceivably distant place.
They have no contact with it and so have no need for nuanced terms. They often cannot tell you what “South Asian” even means in the sense that you are using it, and plenty still say “Oriental” for what you might use East Asian or Southeast Asian for. Remember they also are unlikely to know the difference between Sikh and Muslim and Hindu.
India simply isn’t a place that we have historically had much reason to think about. If you asked someone from Yuma or Reno whether they thought Calcutta or Ceylon were closer to eight or ten thousand miles away, number one they would have no idea, and number two, they wouldn’t blanch at those names the way you just have. :)
When there’s already a particular word for something, it’s only natural to pick a different word for something that’s completely different. I’m not saying this is “right”; it’s just what happens. I would never suggest that someone use “a Hindu” to mean a person from any of the countries of the Indian Subcontinent, nor would I do so myself. The question only asked for why people might do so, or might have done so in the past, so that’s what I’ve tried to explain.