2 will be the rank. let rank of A=2; with A'(transpose) rank does not change.
again when two matrix are multiplied (say A*B) rank will be min(Rank A,Rank B).
Even as you have multiplied a 4*3 with a 3*4 the output matrix would be of 3*3 and its rank 2.
If you take in this way that the 4*3 matrix has two linearly independent vectors in it, When it gets multiplied with a 3*4 matrix with 2 two linearly independent vectors in it.
The the result would again have 2 linearly independent vectors only(as they are linearly independent and the won't cancel out the other and decrease the rank).