So yeah… they apparently used to be applied in the order of release, then alphabetical order if released on the same date, per here:
This meant Impervious targets would get Bleeding applied on the first cast. It also meant Fireproof targets would have Faerie Fire land but not Burning, since Stun was added to the game after Burning but before Faerie Fire.
This was, of course, completely silly and arbitrary, as pointed out in the comments in that thread. I tested it and found that this was changed (can’t find the patch notes for when this was changed).
So the order of Curse was changed to last:
(Pictured here, Barbearius, an Impervious troop, not getting hit by Bleed, only Curse)
The order of stun stayed the same, though, for whatever reason:
(2nd and 4th troops pictured are Stone Biter, which does not have Fireproof, and Pyggra, which does, other statuses on other troops were applied by traits).
So I would say working as intended with respect to Curse, since a conscious decision was made to place it last that required a game change, but ““working as intended”” with respect to Stun, in that it still has a completely unintuitive reaction that isn’t currently severe enough to break anything major (unless/until another powerful status effect is added).
Basically, currently, the only reason Stun applies after Poison, Disease, and Death Mark is because it was added to the game later, which, based on the fact that a similar interaction was “fixed”, is, in fact, a bug. However, logically, based on the design steps that have been taken, the resolution of this bug, if any, will not be to your favor - based on how Curse was changed specifically so it would not remove immunities on the first cast, Stun should be applied second to the last (even later in the chain than it currently does), since it also has the potential to remove some immunities.
edit: typos