I didn't find any counterexamples so I came up with the following conjecture:
Let $A_{m\times n},B_{n\times m}$ be matrices, prove that if $\text{rank}(A)=\text{rank}(B)=m$ then $\text{rank}(BA)=m$.
Since we know that $\text{rank(BA)}\leq m$ then all we have to show is that $m\leq \text{rank(BA)}$. Am I in the right direction? If so, how do I continue?
I will think of $A$ as a linear map $\mathbf{R}^n \to \mathbf{R}^m$ and of $B$ as a linear map $\mathbf{R}^m \to \mathbf{R}^n$. As you note, it will suffice to show that $\text{rank}(BA) \geq m$. If we let $\mathbf{e}_1, \ldots, \mathbf{e}_m$ be the standard basis of $\mathbf{R}^m$, then $B\mathbf{e}_1, \ldots, B\mathbf{e}_m$ spans $\text{range}\,B$. By assumption $\text{range}\,B$ is $m$-dimensional and thus $B\mathbf{e}_1, \ldots, B\mathbf{e}_m$ is a basis of $\text{range}\,B$; in particular, these vectors are linearly independent.
By assumption $A$ is surjective and so there are vectors $\mathbf{x}_1, \ldots, \mathbf{x}_m$ such that $A\mathbf{x}_j = \mathbf{e}_j$ for each $j$, which gives us $B(A\mathbf{x}_j) = B\mathbf{e}_j \in \text{range}\,BA$. We have now found $m$ linearly independent vectors in $\text{range}\,BA$; it follows that $\text{rank}(BA) \geq m$.