There is a big difference between Vancouver and Toronto or Ottawa or Hamilton. There has never been any amalgamation in Metro Vancouver so the City of Vancouver is entirely the inner core of the Lower Mainland. Vancouver today is like the old City of Toronto pre-amalgamation. I think once reason Horwath won (though narrowly) is that Hamilton is a much more left leaning city than Ottawa. In 2018 the NDP won 4/5 seats in Hamilton while winning just 1 seat out of 7 in Ottawa. Also the Ottawa boundaries include a lot more rural areas than in Hamilton.
There are some weird patterns in municipal voting. Winnipeg is total NDP stronghold provincial and to a lesser extent federally, but keeps electing nothing but rightwing mayors. calgary is a Tory stronghold at every level and keeps electing centre-left mayors. Go figure
Vancouver has had centre-right mayors including current, but part of that is spillover from provincial politics as BC Liberals actually win seats in Vancouver proper unlike federal Tories. Not most and definitely behind BC NDP, but at least stronger base to work off.
Winnipeg while does not include rural areas like Hamilton and Ottawa, it stretches right out to countryside unlike Vancouver and Toronto which do not so it has areas that would be suburbs if in Vancouver or Toronto. As such Tories at both levels don't tend to win city overall, but usually don't get shut out either. But tend to be very much on the periphery.
Calgary is interesting but I've wondered if Alberta is really all that conservative or if voting Tory is more over regionalism and feeling they are only party that stands up for their province. I think if Liberals or NDP federally were more pro oil and gas but kept other policies they would win more seats in Alberta. Rural Alberta is obviously solidly right wing, but cities I think much less so.
Toronto, Ottawa, and Hamilton are more akin to county amalgamation in US and Toronto is like large metro areas includes multiple counties in the urban area but in most large metro areas you have city proper, some suburbs in same county, and suburbs beyond in neighbouring counties akin to 905 belt. Toronto would be like Chicago including all of Cook County not just part as it does now while Collar counties like 905 belt.
Ottawa and Hamilton are more like smaller cities where county they are in usually includes rural areas. More like Buffalo, Rochester, and Syracuse and while those cities don't include countryside, the counties they are in do whereas in larger metro areas you have counties that are 100% urban.
Prairie cities I find unlike in other provinces largely tend to match the urban/rural boundary perfectly so lack suburbs (save a few in Edmonton like St. Albert and Sherwood Park) and city limits usually same place it transitions from housing subdivisions to farmland. By contrast in BC city is usually core with lots of suburbs beyond. Victoria despite its smaller size is same. Ontario is a mix as you have Toronto which includes lots of suburbs, but many beyond. Kitchener which has suburbs beyond. London which like Prairies largely matches urban/rural boundary, Windsor like Edmonton similar but a few small suburbs while Ottawa and Hamilton extend beyond into countryside.