What's missing in your analysis is a pair of if's:
If there is a (positive real) number $x$ such that ${x^{x^{x^{x^x}}}}^{...}=2$, then $x=\sqrt2$.
and
If there is a (positive real) number $x$ such that ${x^{x^{x^{x^x}}}}^{...}=4$, then $x=\sqrt2$.
Both of these statements are true (you've proved that!). So we can conclude that the function $f(x)={x^{x^{x^{x^x}}}}^{...}$ cannot have both $2$ and $4$ in its range.
Note, the only value of $x$ that is obviously in the domain of $f$ is $x=1$.
To show that $\sqrt2^{\sqrt2^{\sqrt2^{\ldots}}}\not=4$, it suffices to show, by induction, that if $a_{n+1}=\sqrt2^{a_n}$ with $a_1=\sqrt2$, then $a_n\lt2$ for all $n$: The base case is $a_1=\sqrt2\lt2$, so if $a_n\lt2$ then $a_{n+1}=\sqrt2^{a_n}\lt\sqrt2^2=2$.