Everything you've said is correct.
You ask "why, if it affects the column span, does it not change the solution set?"
Well, if you write a row op as left-multiplication by some elementary matrix $R$, then the solutions to
$$
(RA)x = b
$$
are indeed quite different from those for
$$
Ax = b,
$$
so row operations do change the solution set. The good news is that a slight variation of this is still useful. If you want to solve
$$
Ax = b
$$
you can instead solve
$$
(RA)x = Rb
$$
i.e., if you do the same row op to $A$ and to the target vector $b$, the solution set remains unchanged. If you do lots of row ops to make $A$ become diagonal, or upper triangular, the system may then be easy to solve. (Indeed, this is sometimes called something like "augmented Gaussian elimination", because you stick the column vector b on the right hand side of the matrix A, and perform row ops on the whole mess.)
In the special case $b = 0$, the row ops have no effect on $b$, and hence solving
$$
Ax = 0
$$
and
$$
(RA)x = 0
$$
give the same results, which is what you've observed in writing "$Ker(T_A)$ is not changed."