All of your ideas sound great. Sorry, I don't have particular recommendations for Spanish, except for the Rosetta Stone language software . I'm not sure how suitable it is for a 4 y.o. I wanted to suggest that you find some Spanish language speaking opportunities for him. If he's not
too shy, a short conversation with a Spanish speaking neighbour or some of the people he meets in his daily ...