Every infinite group has a non-trivial subgroup
The idea is right, but you should avoid claims like
Yet this is not possible unless our group is finite.
since this doesn't give your reason for the "unless."
In your case, you perhaps could explicitly note that $G = \langle x \rangle$ implies $x$ cannot have finite order. Then show that $x \in \langle x^2\rangle$ implies $x$ has finite order.
There is a tiny hole: $x^2$ is not a generator of $G$ if it is equal to the identity element $e$. So you also need to consider the separate case that $x^2=e$. Otherwise, it looks good.