@User the spectre simulation didn't really work out. Even though spectre is meant to be able to read spice netlists there were tons of syntax issues so I didn't really pursue that any further.
But I did notice that the wrong model bin was being selected, and I remember you mentioning there being an ngspice bug with fingers - indeed the device I was using had two fingers. So I'm just sidestepping that for now by using the multiplier version instead which happily simulates at the ss corner at 150C.
So I think we can just chalk this up to the previously know ngspice bug