I went through this with my daughter when she was 3.5. It became a HUGE power struggle and battle of the wills. Finally, I decided to stop playing the game. My daughter was so constipated (and on doctor-prescribed Miralax) that I put her back into diapers full-time, and I said no more about using the potty. However, after a few months, I asked her if she'd like to pee on the potty again, but that she didn't have to poop on the potty unless she wanted to. She didn't want to poop on the potty, but she liked peeing on it. So, we went back into panties, and she would tell me whenever she needed a diaper to make poop. I did change her poopy diapers myself, but everytime I changed her, I told her, "Let me know when you're big enough to poop on the potty like the big kids you know." She would solemnly say that, yes, she would tell me when she was ready to poop on the potty. Finally, after a few more months, one morning, lo and behold she pooped on the potty by herself! We were all very excited, as was she, and from that time on, she pooped on the potty.
The key for us was to just stop battling over it. There was nothing I could do to physically MAKE her poop. It was her own body. And, I knew that sooner or later, she would do it, and I also knew that it had to be her decision. She did it on her own timeframe, and it worked great. Once she pooped on the potty of her own accord for the first time, we never had a single accident.
I don't know how a person would adapt this to preschool. I would probably suggest that you tell him that he can't poop at preschool, because "they don't use diapers there." If situations come up where he can't do something because he still uses diapers, then just tell him matter-of-factly that he can't do that because he still uses diapers; when he's all done with diapers and makes all his poop on the potty, then he can do that. You can't win a battle of the wills, so take yourself out of the battle.
And remember, all kids do potty-train sooner or later! good luck!
~ E.