In general, $\pi^{-1}(\pi(V(X)))=\pi^{-1}(X)\ne V(X)$, since the preimage of $X$ contains all the fibers over $X$ and $V(X)$ just has one point per fiber.
Note that you just need to show that $V(M)$ is closed, since then you have $V(C)=\pi^{-1}(C)\cap V(M)$ because if $x\in V(C)$, then $\pi(x) \in C$ since $\pi\circ V=\operatorname{id}$, so $x\in \pi^{-1}(C)$, and hence in $\pi^{-1}(C)\cap V(M)$. And if $x\in \pi^{-1}(C)\cap V(M)$, then $x=V(y)$ for some $y$, and $\pi(x)=y\in C$, so that $x=V(y)\in V(C)$. Now if $V(M)$ and $C$ are closed, then $V(C)$ is the intersection of two closed sets, and hence closed.
Note that restricted to $V(M)$, we have that $V\circ \pi =\operatorname{id}$, since if $V(y)\in V(M)$, then $V(\pi(V(y))=V(\operatorname{id}(y))=V(y)$.
Suppose some net $(x_i)\subset V(M)$ converged to some point $x$ not in $V(M)$, then since $\pi$ is continuous, $(\pi(x_i))\to \pi(x)$, but then since $V$ is continuous, $(V(\pi(x_i)))=(x_i)\to V(\pi(x))$, since $x_i\in V(M)$, so $V(\pi(x_i))=x_i$. But then we must have $V(\pi(x))=x$ since $TM$ is Hausdorff. But then $x\in V(M)$, contradiction. Thus $V(M)$ is closed. And hence, $V$ is a closed map.
Note that all we used was continuity of $\pi$ and $V$, $\pi\circ V=\operatorname{id}$, and the Hausdorffness of $TM$, so this argument will go through for any such pair of maps (regardless of smoothness, or the fibers being vector spaces).