North Indian here who grew up in Chennai and now working here.Parents originally from Gurgaon.I have worked in Bangalore,Kolkata and Gurgaon before.
NCR has good public transport connectivity through metro except for Gurgaon.
Chennai metro is good too but limited to few areas for now with suburban train network complimenting it. Once all lines are complete it would be as good as NCR.
With respect to opportunities I feel NCR has a edge and I feel due to higher cost of living can get a better package there.Lot of startups and product based companies are present in NCR.In Chennai people do move bangalore and Hyderabad for better opportunities.
Deal breaker is the pollution. I have better health in Chennai in comparison to Gurgaon.
Another Deal breaker is as you mentioned culture and language. It's a personal thing.I have felt comfortable in Chennai since I know Tamil and love it here while retaining our North Indianess. Also have good north Indian crowd here in places like Sowcarpet,Anna Nagar,Egmore. Also I have noticed people speaking in hindi in past few years.People are generally respectful and polite here if you remove the politics. It might diffrent for you and NCR maybe better. No one has same experience of the same place .
Rent really depends on the area you live in both NCR and Chennai.Cost of buying a house depends on the same.Real estate is always tricky.
I would also having some close and trustable acquaintances in a city improves the experience which I feel is Noida for you.
I have been exposed to diverse cultures in Chennai which are in extremes due to which I feel comfortable in different languages and cultures.
There might be more points in support of both places but really depends on what are you looking for at present. I suggest to research those throughly as it will impact your family.Best city would be where your family feels comfortable.