The lack of a Damage Immunity definition is still a problem.
If you think of it as "the propriety to set a specific damage type to 0"
it will bring you some issues, like this one, but if you think of it as "the ability of ignoring a specific damage type" (wich by far i find more appropriate)
that issue is gone. Here's why:
Step 1, any relevant damage immunity, is not anymore a mathemathic step, so you can apply it without reducing the damage to 0.
The damage "still exists" if you wish to progress to step 2, but you take note that it will not affect the specific creature.
There is no issue with the "Specific beats Generic" rule, as Invulnerability has never been changed in steps 2, 3, 4.
There is no problem of steps 2, 3, 4 being irrelevant after step 1 is completed, as someone mentioned: it s a general rule that aims to work in all circumstances and not of being practical, wich is totally left to common sense.
There could be a problem with some effects if immunity wasn't take in consideration before the damage variations (Max Hit Points reductions, healing from hits,...).
I am aware that Xanathar's guide says "Here’s the order that you apply modifiers to damage: (1) any relevant damage immunity..." wich suggests that damage immunity is a damage modifier, but it's not a clear definition that we can use:
I think that the term refers the damage modificators of steps 2, 3 and 4, and Immunity is here just becouse it is relevant for the final outcome.
For the "multiple target problem" mentioned above, i'd say it does not affect the order of modifications we're discussing: the dices are rolled once for all the creatures affected, but after that Xanathar's suggests to follow the 4 steps once for each different creature.
There's a big "my opinion" mark on all of that, feel free to discuss with me.