Your little boy sounds lovely.
Reading your post has reminded me of what we did with DD at 4. It's fun thinking about it 20 years later 😊
We had an English Heritage collection of nursery rhymes that we played in the car and sang along to on the way to nursery every day
We sang the same song ('The time has come to say goodnight') every evening before she went upstairs
We used shop name signs to identify letters eg the first letter of her name
The song the nursery rhyme 'One, two, three, four, five, Once I caught a fish alive' which uses numbers to ten
There was an alphabet in magnetic letters on the fridge. She liked putting the letters in order, and using them to spell her name (seven letters) and other basic words
We sang the alphabet song (lots of versions on YouTube) a lot
Songs with actions are fun - 'Twinkle, twinkle, little star', 'Wind the bobbin up' and 'I'm a little teapot' are all easy to learn
Singing 'There were X in the bed and the little one said' is good for counting down - from 10 with teddies, less with children, or a mixture of children and teddies
'10 green bottles' is great for teaching numbers back from 10, with falling on the floor for the line 'But if one green bottle should accidently fall'
We used hazlenuts on a table outside to do addition up to 10 and multiples of 10
Without thinking about it, we sang a lot, because we all enjoyed it. For a while, my five-year old god-daughter lived with us when DD was three so then there were four of us singing rather than three.