Basis of column/row space of $A$: using pivot columns of $A$ vs. $\text{rref}(A)$?

When we have column vectors and want to check which ones are linearly dependent to take them out and form a basis for the column space of $A$, we put them as column vectors in the matrix. Then, we compute the row reduced echelon form (rref) of $A$. We say that the column vectors of the original matrix $A$ that correspond to the column vectors in $\text{rref}(A)$ with leading ones, form a basis for $\text{col}(A)$ rather than extracting the pivot columns of $\text{rref}(A)$. Why?

However, when it comes to finding a basis for the row space of $A$, we put the vectors as row vectors in the matrix. We row reduce and the basis are the vectors with leading entries in $\text{rref}(A)$.

To summarize: Why is it that we cannot, for the row space, go back to the original matrix and take the corresponding vectors? For one, I know that since we can switch rows during row reduction, this can mess up what vector corresponds to what vector. Is there another reason why?

one thing the row reduction keeps invariant is the linear relation among the columns of $A.$ this is saying that $Ax = 0$ if and only if $Ux = 0.$ if you want to keep the linear row relations invariant, you need to elementary column operations.
as you say, rows may be swapped in the row reduction process as it happens in this matrix $A = \pmatrix{0&0\\1&0}$ and $U = \pmatrix{1 & 0\\0&0}.$ you can see that the first row $A$ is definite not a basis for row space of $A.$