I don't get how an "interest in linguistics" or asking cultural questions naturally turns into "How is X expression not offensive?".
That's not a neutral, curious question, that's a question of someone on the offense, pushing others to defend themselves. A neutral question would be "Why is it more popular to say 'having a Chinese' than 'having a French'?" (just pulling one out that I've never heard) which I'd guess would be from how popular such a cuisine is.
I'm an immigrant to the UK. I tend to say specifically what food rather than the nationality of it - so I'll say I fancy burritos rather than 'a Mexican' or I fancy chicken noodle soup rather than 'Chinese; (Chinese takeaways are the only place I've found so far in the UK that make chicken noodle soup like what I grew up with, everywhere else has really thin tiny noodles and little taste to the broth, even when it's technically made by the same company).
I think it's largely language habits building thinking patterns - to me, there are many types of Mexican food and I don't want all of it so I'm more specific whereas to my British spouse, it just means he wants something from a Mexican place (which is not lesser to French in a British cultural hierarchy in my experience).
Maybe your issues come from the fact that Indian is considered an offensive term for Native Americans?
This is what I thought this thread was going to be about when I clicked, and was fully prepared to explain that it's complicated, but some American Indigenous groups continue to prefer the term Indian, some of which stems from that being how they were referred to in treaties, some from American Indian Movements, so we go on how the person or group identifies. While some terms are more liked and have less baggage than others, there is really no universal term that everyone likes - much like not all European groups like being called European, but few take offense at (American) Indian unless there is malice, systemic power at play that has ignored a request for change (mascots are a common example), or a personal reason that can't be applied to everyone.