I think your DH was in the wrong.
Your son has told his grandad he supports the team and your dad has bought him a tongue in cheek present that your dh might not have liked but your son obviously must have, otherwise why would he say he supports the rival team and ask you where his football kit and mascot have gone he clearly wanted them.
There will be an age (probably now) where he wants to fit in more with his friends than his dad, I while I get that football is ridiculously important to some people your husband has acted really immaturely throwing your sons gift away like that.
Who's to say your son won't chose another team to support again as he gets older.
I'd be really cross at my husband if he threw something away my dad had taken the time to buy whether he liked it or not.
FWIW my dad and brother support two rival teams (derby days used to be a fun day growing up
) my brother supported the same team as my mums dad,my dad supported the rival team.
Derby days were just 2 hours of my dad and brother bantering about who team were winning.
To this day they always meet for derby day at my dads house and watch a lot of football matches together even teams they don't support just because they enjoy watching a good game of football together regardless of who's playing.
Your ds supporting another team isn't going to mean he can't watch football with his dad when he's older.
I'd rebuy the kit and not let your ds know his dad threw it out otherwise it's going to be awkward when your son tells his grandad what his dads done. If your son genuinely wanted the kit, which I get the impression he did if he noticed it missing and looked for it, chances are he is going to moan about it to his grandad.
Whether the grandad should have bought it or not your dh is going to come out of this looking a right mug when everyone realises he's thrown a child's birthday present away because he's doesn't like the badge on it.