Owning more fedoras myself than the average hat shop, I have been told - and it works - to unequip and then discard the superfluous ones. Granted, no money back, so if that is not intended maybe have a check whether the item is already in inventory so you cannot get duplicates?
My preference is to have the option to sell back to the shop at a second-hand price. I mean grind for the Contracts themselves wasn't too bad, But I think especially in the early stages (where's we're swapping in and out often to meet the requirements to beat these challenges, whether it's the fighting or stealth) this trading back to the shop action would go a long way in helping players gain even a little bit of money to get better equipement.
Also, another reason I think it would be good is this fits with the overall lore in terms of MC's personality in the game (who in the game is seems to be pretty money-conscious, especially when faced with buying expensive stuff in the events, such as Gracie's jeans with holes compared to normal jeans etc lol). Discarding, while it can be an option, just doesn't align with this, but that's just my opinion.