usa has a strong roster on paper but they are filled with guys that haven't got it done. team canada has winners.
Canada also has a much older team, which would give them a lot more time to win cups.
The US team still has a handful of cup winners (Eichel, Tkachuk, Guentzel), but they also have plenty of guys who have won gold in international tournaments (Fox, McAvoy, Boldy, Trocheck, Miller, Faber, Kreider with WJC golds; Eichel, Matthews, Larkin, Hanifin, Connor with U18 golds....)
So it's not like that group is unfamiliar with how to win, especially in short international tournaments.