Exercise 25 of Atiyah & Macdonald asks:
Let $0 \to N' \to N \to N'' \to 0$ be an exact sequence, with $N''$ flat. Then $N'$ is flat iff $N$ is flat.
One way to prove this (from this post) is to use the exact sequence $$ \mathrm{Tor}_2(N'', M) \to \mathrm{Tor}_1(N', M) \to \mathrm{Tor}_1(N, M) \to \mathrm{Tor}_1(N'', M) $$ for an arbitrary module $M$. We have $\mathrm{Tor}_2(N'', M) = \mathrm{Tor}_1(N'', M) = 0$ because $N''$ is flat. If $N'$ is flat, then $\mathrm{Tor}_1(N', M) = 0$, which implies $\mathrm{Tor}_1(N, M) = 0$, so $N$ is flat. Similarly for the converse.
But this proof seems to implicitly use the commutativity of $\mathrm{Tor}$ (i.e., $\mathrm{Tor}_i(M, N) \cong \mathrm{Tor}_i(N, M)$). In particular, we used the fact that $P$ is flat iff $\mathrm{Tor}_1(P, M) = 0$ for all modules $M$. However, I have only seen a proof that $P$ is flat iff $\mathrm{Tor}_1(M, P) = 0$ for all modules $M$. Here, $\mathrm{Tor}_i(P, M)$ is computed using the $- \otimes M$ functor, while $\mathrm{Tor}_i(M, P)$ is computed using the $- \otimes P$ functor. In the above sequence, $M$ is always in the second slot because its construction uses the $- \otimes M$ functor.
I have not seen a proof of the commutativity of $\mathrm{Tor}$, and it seems like it is a rather non-trivial result. Is there a way to do the exercise without using commutativity?