y_preds is still the argmax. You could get the gradients for the first output (which is the max value).
In that case max would be differentiable and the gradients would just flow back to the maximum value while all other values will get a 0 gradient.
Argmax on the other hand is not differentiable as it return integer values. So you can’t get gradients for it.