Seems like i forgot a parameter that is required - yet it works without it for Long-positions, but not Short-positions.
self.session.set_trading_stop(
category="linear",
positionIdx=2,
tpslMode="Full",
symbol=self.symbol,
stopLoss=str(int(new_stop_loss))
)
Added the tpslMode="Full", and the stop is updated.