I agree a nice way to balance Stun would be to implement a max. number of seconds you can’t get stunned above, like 300sec, as you proposed.
I also agree much with your first observation, indeed I think the fastest sweepers with Stun Immunity should have their passive replaced with something like
Stun Resistance: reduces the effects of Stun by 50%
and
Stun Resistance+: reduces the effects of Stun by 75%.
Or maybe giving a form of immunity to Stun that ONLY affects active/passive skills?
In general, a monster’s Stun resistance should be inversely proportional to how powerful the monster is.
Similar to how Insomnia is a middle ground between unconditional Sleep Immunity and being vulnerable to Sleep.