There is no perfect way to describe something like ethnicity. (It's why the census asks it in like 3 or 4 different ways if you ever got that long form).
Ethnicity is mixed up with issues like language, and that is quite variable & complicated.
Race is just such a blunt instrument, just short hand for "mostly about identifying skin colour". "White, black, yellow?, red??- and then you say "brown" and that can mean so many things, it is near-useless.
"Indian" is a nationality, associated with a country that may or may not be in one piece, or many, depending what period in history you look at. (And this being Canada, people start those "status indian" jokes to confuse things.)
Then (usually white) people call them "Hindus" when what they mean might be Hindus, Sikhs, indian muslims, pakistanis, etc. - highly inaccurate if you do not really know & complicated by religious issues if you do. Then there's the fact that India has dozens of ethnic groups within what's considered "Indian" or "south Asian" culture.
As I see it: Indo-Canadian:
"Indo - " = of south Asian extraction/origin, by at least half according to blood quanta or by dominant family tradition.
South Asia = India, Pakistan, Bangladesh, Sri Lanka, Bhutan, Nepal, and to some degree Afghanistan too. But not including those who were British or Portugeuse expatriates living there in isolated colonial settings, except in part if there was some sort of intermarriage bearing offspring (considered south Asian).
However, extraction/origin can also denote long-standing expatriate / settler communities like those from Uganda, South Africa, Fiji, Trinidad, etc. that migrated from south Asia to those places (willingly or not) and then may have migrated again.
"-Canadian" = they are now either citizens or residents of Canada, or were born here and always have been. Culturally, south Asian, but also Canadian (increasingly over time).
So "Indo-Canadian" = south-asian bloodlines & cultural influence, but living life in Canada on a more than temporary basis (born here or naturalized citizen of Canada).