Would you mind sending the design file? You can send it directly to me if you'd like if you don't want to post it here on the Community site:
I tried converting the .s4p to fitted poles then back to .s4p and the resulting new .s4p is still non-causal.
Finally got to the bottom of this.
I am getting poor, non-causal, simulation results due to small variation in DK from layer to layer in stackup. I have been simulating with my actual PCB fab data including the small variation in DK from layer to layer. This appears to be the culprit. When I make all DKs exactly the same I get causal, reasonable looking, model.