YABU
You have decided to spend that money, not your guest, so you are responsible for it. And you can't hold them responsible for the cost of you and your DC doing those activities as you chose to do them.
He was happy doing nothing and you were the one who suggested the activities so no wonder he assumed you'd be paying. If you suggest going somewhere specific then you are implying you will be hosting. It would be one thing if you'd said "Oh DC and I have plans to go to X this weekend ... do you want to join us, tickets cost £X?" as you could make it clear that he'd have to pay his own way as he'd be joining existing plans and it would be totally OK for him to sit them out, but when you've made plans for his benefit when he's not fussed then you can't hold him liable for the fact you've then had to pay out for everyone.
Also for things like cafes/buying food at street stalls etc if I went with someone and they said "Right I'm going to get coffees, what does everyone want?" or "What would you like?" so that they are the only one ordering it implies they are going to pay for everyone, and I probably wouldn't offer to pay or might offer once we are back at the table if there was an appropriate moment. But there might not be an appropriat moment or he didn't think of it during the event ... but then felt too awkward bringing it up again later.
If you really wanted to make suggestions without implying payment I would have made suggestions but also include pricings couched in "advice terms" eg "Hey, Visitor I know you said you're happy to stay home but if you wanted to go out and about, you can get an Oyster/Travel card, it only costs £X for Y period of time. If you want me to show you just let me know and I'll go with you when you get it", "Hey Visitor, I'm taking DC to . Tickets cost £X, do you want to join us or would you prefer to stay home?"