Children don't *need* anywhere near the quantity of toys that some adults think they need. What's more, they don't need the type of toys many adults want to buy. And there is a wide, wide, wide variety of safe, developmentally-appropriate, fun toys out there. So I hardly think cutting certain toys off the list of possibilities is unfair to your son. Making conscious shopping decisions is a great gift.
I'm sure your son is frustrated, although at 4, he might be able to understand a little bit of the recall information. 4 is, IMO, old enough to start learning about health and purchasing decisions. You might invite him to help you select a new toy to replace the trains that have been removed. For Christmas lists, is he making his list based on inspiration from catalogues, advertisements, and things he sees on store shelves? Editing what he sees to begin with might help somewhat with that, if you think it's possible. Building appetites for "healthy" toys that you don't have to say no to can help avoid disappointment.
If you discovered that a product you were using were dangerous to your health, you would probably stop purchasing it, even though you had previously really enjoyed it. This would be frustrating and inconvenient to you, but you'd still make the change if you thought your health depended on it. That wouldn't be unfair to you or punishment, and I don't think it's unfair or punitive to your son to discuss the recalls with him and change your toy stash and purchasing habits.
Have you seen this blog? Journey to Crunchville
She has lists of brands not made in China, lots of recall information. I think perhaps putting different choices (a catalogue filled with yesses versus a catalog filled with probably-nots) in front of yourselves could help with the frustration you feel.