In Naive Set Theory, Halmos proves that $S(n)=S(m) \Rightarrow n=m$ in this way:
We are now ready to prove $(V)$. Suppose indeed that $n$ and $m$ are natural numbers and that $n^+ = m^+$. Since $n\in n^{+}$, it follows that $n\in m^{+}$, and hence that either $n\in m$ or $n=m$. Similarly, $m\in n$ or $m=n$. If $n\ne m$, then we must have $n\in m$ and $m\in n$. Since, by (ii), $n$ is transitive, it follows that $n\in n$. Since, however, $n\subset n$, this contradicts (i), and the proof is complete.
Where (i) and (ii) are these: (i) no natural number is a subset of any of its elements, and (ii) every element of a natural number is a subset of it. I don't understand why you need to use (i). If we have $n\in m$ then $n \subset m$ follows by (ii), right? And by $m\in n$ we likewise get $m \subset n$. Therefore $n=m$ and we have a contradiction. What am I missing here? He sets it up like (i) is necessary for the proof.
Let's formalize this here :
(i) $\forall n \in \mathbb{N}, n \not\in n$
(ii) $\forall n \in \mathbb{N}, m \in n \implies m \subset n$
Let $m, n \in \mathbb{N}$ such as $S(m) = S(n)$.
According to the proof linked in the post, we have :
$$(m = n \lor m \in n) \ \land \ (m = n \lor n \in m)$$
which is equivalent to :
$$ (m = n) \ \lor \ (m \in n \land n \in m)$$
By using (ii), we have the implication :
$$ (m \in n \land n \in m) \implies (m \subset n \land n \subset m) \implies (m = n) $$
So this shows that in any case, $m = n$. The answer to your question is : yes, we can proove that $S$ is injective without using (i).