I feel for the OP's son. If I'm out in public and someone speaks to me unexpectedly, it does take me some time to (a) realize they've spoken to me, and (b) process what they've said. If I'm not expecting someone to speak to me or looking at them, I may not notice that they've spoken to me, and thus I will not be able to process right away what's been said. It's embarrassing, and I would have been incredibly uncomfortable to be asked "Do you speak?"
And I think that giving the term introvert can provide important context.
Roe, I think you should teach your son to give some sort of acknowledgment that he heard the speaker while he formulates his response. It's really helpful in these sort of situations. Even eye contact and a faint "Hmm..." will buy him some time.
I think the guide was incredibly rude, but I don't know what you could have said about it.