Well, let’s look at why $A^TA$ has approximately the squared condition number of $A$. Using the SVD decomposition of $A=USV^T$, with $U \in \mathbb{R}^{N \times N}$, $S \in \mathbb{R}^{N \times M}$, $V \in \mathbb{R}^{M \times M}$, we can express $A^T A$ as
$A^T A=(USV^T)^T USV^T=VS^T U^T U S V^T=V S^T S V^T$
Which we arrive at by noting that $U$ is orthonormal, such that $U^T U=I$. Further we note that $S$ is a diagonal matrix, such that the final decomposition of $A^TA$ can be expressed as $V S^2 V^T$, with $S^2$ meaning $S^T S$, yielding a diagonal matrix with the first N singular values from $S$ squared in the diagonal. This means that since the condition number is the ratio of the first and the last singular value, $cond(A)=\frac{s_1}{s_N}$ for $A \in \mathbb{R}^{N \times M}$,
$cond(A^T A)=\frac{s_1^2}{s_M^2}=(\frac{s_1}{s_M})^2=cond(A)^2$
Now, we can perform the same exercise with $AA^T$:
$AA^T=USV^T (USV^T)^T=USV^T V S^T U^T=U S^2 U^T$
Which means that we get the result $cond(AA^T)=\frac{s_1^2}{s_N^2}$, since $S^2$ here means $SS^T$, a subtle difference from the notation above.
But note that subtle difference! For $A^TA$, the condition number has the M'th singular value in the denominator, while $AA^T$ has the N'th singular value. This explains why you are seeing significant differences in the condition number — $AA^T$ will indeed be “better conditioned” than $A^TA$.
Still, David Ketcheson was correct — you are comparing condition numbers between two vastly different matrices. In particular, what you can accomplish with $A^TA$ will not be the same as what you can accomplish with $AA^T$.