I think it was just an awkward situation, and you did your best on the spot. However, I think it's very strange that Sophie didn't step forward, as she knew that was the plan. In your description it sounds like she never did anything to indicate she was willing to follow through on the agreement she'd made to be the volunteer. When the students started chanting your name, you could have smiled, staying leaning back on the wall/in your seat (obviously not going anywhere), and shook your head. Then Sophie could have stepped forward, per the plan. You could even have gestured to her, like you were passing the "honor" on to her.
I grant you, there was a lot of awkward in this situation--the announcer's misstep, the kids unexpectedly chanting your name. But it seems to me that Sophie contributed a lot to that, when she knew what the plan was. The vibe I get is that she didn't really want to be the volunteer, even though she had agreed, and was happy to cede that spot to you when the crowd insisted. In which case, there's no need for you to feel like you did anything wrong by her.