You get it from being friends with a chef and having them gift it to you, it's so rare because you can't buy it in shops like normal clothing.
I got my chefs had from a chest. I got lucky. I didn't have to friend a chef and wait for him to give me one
NO stores in the game will sell them. There's only 4 ways to get one:
1) get lucky on a random level 5 dig spot
2) get lucky on a chest open (many chests are random)
3) make a chef a best friend (or husband). All the chefs are "straight" in my game. (side note, on a new game creation, it seems most people's orientation are randomized.. while some are fixed).
4) have a local or xbox live person give you one, then just give it back to them. You only have to have your game "see" it in inventory. You don't need to keep it. But beware.. most people rip other people off. If you ask for a hat, they will ask for something else... you give them the something else.. they steal it and go bye bye...
and if you have the hat.. for gods sakes DONT let another xbox live player have it unless you COMPLETELY trust them. Granted if they steal it, you already have credit for it.. but still. I really do NOT like this whole trading thing due to all the thefts. LH either needs to eliminate trading and make ALL weapons and ALL clothing , etc spawn in one play through OR make sure trades are SECURE