I'm planning to go to Hong Kong (actually to Shenzhen, but I'll go from HG to SZ by train) from the US (I'm on an F1 visa in the US) by this route:
EWR (Newark) - YYC (Calgary) - YVR (Vancouver) - HKG (Hong Kong).
The return route is this (I don't include Shenzhen from where I'll take the train to HK):
HKG (Hong Kong) - YVR (Vancouver) - YYZ (Toronto) - EWR (Newark).
All flights are with Air Canada. I believe I do need a transit Canadian visa (I'm a citizen of Russia).
Is it fine that I have two layovers in Canada each way during my trip? Will the transit visa suffice? Are there any restrictions on terminals (e.g. if the terminal of arrival will differ from the terminal of departure)? (If yes, then by the way, how can I know the terminals beforehand? Google flights doesn't show them.)
Also, do Canadian customs officers care about for how long my US visa is valid? (It will expire one day after I enter the US when returning from HK.)