The majority of small towns in northern BC have been gradually depopulating for decades, due to economic pressures similar to those in the Rust Belt of the US. (And plus, it's just damn cold up there, so it's hard to be homeless if you do end up homeless.) Their populations have to be going
somewhere.
Yes, homeless people don't actually sit on the streets of e.g. Quebec City, begging until they can fund a trip to Vancouver, with the aim of living on the streets here instead.
But people are often in some kind of unstable living situation wherever they are, and find out about some job offer, or housing offer, in Vancouver, that lures them to come here for a chance at a more stable living situation. But after coming here (and spending what little capital they have to do so), their job offer falls through, or it was just a seasonal job, or a job with very tenuous stability (e.g. in construction); or the housing they found was a sublet in a rent-stabilized building, but the building owner then figured out how to work around this by "rennovicting" all the tenants so they could jack up the rents; etc.
I live in the East Hastings area. I speak to the people wandering the streets pretty often. I get the impression that many of these folks had a "stable living situation" for a year or two after coming to Vancouver. But this stability was an illusion. They didn't have the earning power to support themselves long-term in Vancouver's high-cost-of-living environment.
These folks are used to smaller low-cost-of-living towns, and just want to escape a failing small town with no economic opportunity; but they don't tend to have job skills that are highly-valued in dense urban areas (e.g. doctor, lawyer, engineer, etc.) These people can still move — but not to high-cost-of-living Vancouver. (Even the highly-employable "service class" of Vancouver, can't afford to live in Vancouver; they have to commute in from quite far away.) Rather, these folks would be much better off moving to another small-ish, lower-cost-of-living, but non-failing town in BC. Prince George, Vernon, Mission, etc.