This is not the answer but i think there is moreJust to this thanexpand on what @eldo has written.
I found that this odd behavior happens for all odd $n$ values where $n$ is the argument of this function:-
f[n_] := Module[{r1, r2, r3},
r1 = ThreeJSymbol[{a, 0}, {b, 0}, {c, 0}] /. {a -> n, b -> n,
c -> 0};
r2 = ThreeJSymbol[{a, 0} /. a -> n, {b, 0} /. b -> n, {c, 0} /.
c -> 0];
r3 = ThreeJSymbol[{n, 0}, {n, 0}, {0, 0}];
{r1, r2, r3}]
f[3]
(*{1/Sqrt[7], -(1/Sqrt[7]), -(1/Sqrt[7])}*)
But when $n$ is even all the answers agree.
f[2]
(*{1/Sqrt[5], 1/Sqrt[5], 1/Sqrt[5]}*)
So there seems to be an extra minus sign coming from the $(m_1,m_2,m_3)$ part before evaluating these three at (0,0,0).
We can see that here in $f_1(a)$ where we keep $(m_1,m_2,m_3)$ as it is and check for different $a$ values
f1[a_] := ThreeJSymbol[{a, m1}, {a, m2}, {0, m3}]
If you run this you will see that for all odd values of $a$ there is an overall minus sign which then creeps into the final answer because of the reason @eldo mentioned.