Hockey is way too expensive so people who grow up poor/in a rough environment can't even start to play on ice let alone make the NHL.
For exemple in Quebec (and I'm sure most other areas as well) most elite players come from the suburbs or rural areas. Reason is because families settled there have money to buy a house, cars, hockey equipment, playing fees, etc. In the city is a lot of students and immigrants and families leaving in small appartments so no one can play hockey.
The players who make the NHL from Montreal are mainly from the West Island where there are families with money (Lac St.Louis region)
Perron, Huberdeau, Drouin, Bergeron, Letang, Brassard, Fleury, Marchessault, Mantha, Danault, Gourde, Dubois, etc all raised in suburbs or rural areas.
Only two I can think of (active players) who are from Montreal are Vlasic and Duclair and they are both from West Island region.
Even QMJHL is filled with players from outside Montreal even though 1/4 population lives in that city. The Midget AAA team from Montreal and Laval is usually average at best even though these are the 2 biggest regions in Quebec