There are a couple implementation details I wouldn't expect you to get - for posterity, the trigger is worded in the doc as: "Have a conversation in chat: at least 5 distinct blocks of messages [sent] in chat in one room [in] a day"
Yeah. So I can confirm that reparenting if you already have the hat will just award the hat again, so any data you've collected about it with subsequent sites on chat.se is bad data.