I can understand your angst at this idiot who was clearly baiting you for his own amusement with no regard to your feelings so, I think your actions were not only appropriate but perhaps 'restrained (no punching him in the face?)
In general though, as most smokers aren't complete A-holes like your acquaintance was so although I loath smoking as much as anyone, I don't harass smokers in any way. I just tend to try and avoid them where ever possible. I was just like them once and truly didn't realize many offensive issues I was exposing non-smokers to. I was completely shocked and embarrassed the first time I got a whiff from someone walking past me after just finishing a smoke - YUK 🤢 I almost fainted when I realized "THAT WAS ME BACK THE DAY 😱"
I was mortified that I had exposed God knows how many people to that stench over all the years I smoked so, that's part of the reason I never engage smokers with any sort of criticism. They don't know any better in many cases.
Of course, this is NOTHING like your situation @Cbdave. What happened to you amounted to an unprovoked attack and I would have reacted as you did, or worse, had I been in that situation.