The question pretty much tells it all.
I just joined Math.SE to test this out. No hat, no hat-link in my profile.
To make the hat appear on your profile, you can go to the hat page from one of your hat-enabled profiles, and click the "Wear Hat" button again. After doing this, my Johnny Three Hats showed up on Math. After a minute or two and another refresh, the hat link showed up as well.
So joining any SE site after Winter-Bash starts doesn't grants me hats?
It does. If you actually earn a hat on the site you just joined, that will also cause your account list to be refreshed. To force the update manually before you've earned any hats there, the generic holiday answer is correct.