Where was this self loathing and sacrificial nature in post-wano? If Oda wants to pretend Sanji had this issue all along then at least use the 150 chapters prior to set this up.
Also, Sanji takes hits from women like Kalifa, Viola, Black Maria and refuses to fight back. If he still refuses to fight back against Zaza then what's changed? Even now this whole fight is just hoping beating Killingham makes her disappear so he doesn't have to fight her. In the end he still puts his chivalry above his own life, his nakamas lives, and the kids and mothers lives.