The real positive here is that you know what the trigger is – busy environments. The challenge now is to figure out what about busy environments and how to help him handle them better.
How is his language? At a point when everyone is calm, not hungry/tired/thirsty/etc., could you have a gentle conversation about nursery or about a very recent trip out where it became a problem? You want this to be very open, supportive, e.g., how did you feel when we went swimming and there were lots of other people there? A bit of 'I wonder' questioning might also help 'I wonder if it felt a bit too loud?' or 'I wonder if there were too many people close to you?' If he can do that sort of conversation, that could help you pinpoint what it is about busy environments that he finds challenging.
I agree with trying hat or hood, sunglasses, and/or ear defenders as @BunnyRuddington suggested.
Another thing to consider is breaks, particularly for something like nursery or a day out. A well set up nursery should have some quiet spaces, often a wee den or tent or similar. Can nursery encourage him to use these spaces periodically throughout the day to get a bit of space, or just notice when he's been in the thick of it for bit and suggest he play in a quieter area ('ooh, only Noah is over in the construction area just now, perhaps you'd like to go build as well? type thing).
I complete get it on trying to move away from reins, but I think I'd have a pair in my bag as backup, just in case it's also going wrong and you just need to keep him safe.