I would have done what you have if I didn’t get what I wanted, but if they sent me my order and something else i would probably just give it away to someone else who wanted/needed it more than me.
Probably would base it on size of business who made the mistake, a global company won’t miss a top and should be less likely to make mistakes, small business where everything processed by hand rather than huge warehouses probably more likely to give them the benefit of the doubt and send it back