My suggestion is to look to prospect theory here. In general, people feel losses 2.5x more than gains (Kahneman + Tversky). There's also an inversion curve: more good has diminishing returns, more bad has diminishing returns too.
Basically we 'acclimate'
This is a very crude way to think about it.
Good news first:
In this situation, we could go up the curve, then 2.5X down for the bad news, or the other way around.
Bad news first:
In this situation, you go down the curve first, but coming back the curve you erase the curve of the bad news, which is 2.5x steeper, so you're actually net gaining in positive utility, because the same amount of good news brings you up the curve more.
This is called the silver lining effect in the literature.
So all in all, deliver the bad news first: you'll gain more 'upside' on reversing bad news than following up good news with bad (silver lining effect) + people will remember the good news at the end of the conversation (recency effect).