It seems a bit convoluted. More simply you could say that if $\xi \ge \omega$ then you can define a bijection $f:\xi+1 \to \xi$ as follows:
* $f(\xi) = 0$
* If $\alpha \in \xi$ and $\alpha < \omega$ then $f(\alpha)=\alpha+1$
* If $\alpha \in \xi$ and $\alpha \ge \omega$ then $f(\alpha) = \alpha$
This is very similar to what you did. Essentially, it puts the top element to $0$ and increments all the naturals, and leaves everything else fixed.
* * *
On the point of style: you could have cut off your entire first sentence and started the proof with "For an infinite ordinal $S$ ...". It's an example of the classic $$\text{[Suppose not X]}-\text{[Proof of X]}-\text{[Therefore not not X]}$$ when just $\text{[Proof of X]}$ would have sufficed.