I think you are right to stand your ground.
If you live nearby the supermarket, you may consider calling in to see the line manager on Sunday or Monday to clear up the issue, otherwise go early Tuesday night.
It's a tricky issue because you say that you knew your shift was changing and had been informed when (if not specifically).
But you should have received written notification, at least by way of signing a new contract.
It's arguable that your supervisor should have notified you that your booked holiday would not be in effect anymore.
Be humble but not culpable.
Insist it's a misunderstanding as a result of ineffective communication.
If the guy insists on disciplining you, you can go higher up the chain to contest it, or file an official grievance, (though these should be as a last resort).
Regarding your pay, if you lose two days wages / get disciplined through absence, then you should still have your holidays.
If you get paid for the holidays, then you can reason that your shift was still Sun-Thurs.
Perhaps you can get the holiday shifted to Fri and Sat?
Good luck