It's normal. Believe me. Almost ALL kids do this... but, they will begin to poop in a toilet when they are ready.
Pooping in a toilet is often the "last" thing they do, per toilet training.
THEN, there is 'night time' control. Night time control sans accidents and sans diaper, is a WHOLE different & separate thing. Just a head's up.
Just don't pressure him. There are methods like rewards, giving star stickers, treats, offering things to entice them... which you can try. It works for some kids and not for others. For my daughter, those things never worked. She just had her own timing for it. No rush, no punishment needed. It's their body... thus, I don't believe punishments/scolding/pressure methods are appropriate for this.
But no worries! For my friend, even though her son, who is the same age as your son, is going to a Daycare in which they train the kids.... her son STILL will not poop in a toilet. The school does not treat it like a big deal... nor the parent. Also, they say that boys attain this later, than say girls do.
Just let him poop...in a diaper. Otherwise, they can get hung up on it and then develop constipation, which is worse and will cause pain. YOu can encourage him gently...but if push comes to shove, just let him have the diaper.
My daughter got constipation at this 'stage' and we even had to go to a Pediatric Gastroenterologist ... it was causing her so much pain. So, even though we did not "pressure' my girl about it.. .she got a bit anxious about the 'thought' of having to go in a toilet. The Doctor said that he sees LOTS of kids with this problem.... at toilet training time per their pooping ability or not & it can be an 'emotional' thing too. So, his advice, was just to let it go... and give the child some space an their own time to go to the toilet.
All the best, sorry for rambling,
Susan