The more relevant criticism of the word boils down to the facts that it doesn’t really mean anything to Indians, and that it’s meaning is so poorly defined that it barely means anything at all. The word can be used to refer to pretty much any Indian food, which is simply a poor categorization, and that use would wind up a lot of Indian people. The other use case is pretty much anything that has a spiced gravy. But a ragu uses spiced gravy as much as a butter chicken does, and most people wouldn’t call a ragu a curry. So it must be a spiced gravey with Asian ingredients, but a Japanese curry has more ingredients in common with a ragu than it does a saag paneer, also a lamb tagine dish uses a spiced gravy with Asian ingredients, and people wouldn’t call that a curry either.
Basically it’s a word that has no definition that would describe all of its different use cases.