I've never heard the term "East Indian" for an inhabitant of the subcontinent. Of course, that part of the world has in the past been called the East Indies, as opposed to the West Indies; but of course the West Indies means the Caribbean rather than the American mainland, and I don't think anyone has talked about the East Indies since Phileas Fogg.
Since Columbus, "Indian" has tended to be used as a term for native peoples wherever they are - not now, of course, but in past centuries. These things never follow any logical course really. After all, why does "Aborigine" always mean an indigenous Australian, when it simply means someone who is indigenous to anywhere? Similarly, why do Americans today refer to the people once known as "Indians" as "Native Americans", when the term "Native American" should simply mean anyone born in America?
Since Columbus, "Indian" has tended to be used as a term for native peoples wherever they are - not now, of course, but in past centuries. These things never follow any logical course really. After all, why does "Aborigine" always mean an indigenous Australian, when it simply means someone who is indigenous to anywhere? Similarly, why do Americans today refer to the people once known as "Indians" as "Native Americans", when the term "Native American" should simply mean anyone born in America?