I would appreciate one's insight into this proof, if I'm missing something in it.
If there exists homomorphism $\phi: G\to H$ and some subgroup $M$ of $H$, and the pull-back of $M$ is $\phi^{-1}(M) := \{g \in G:\phi(g) \in M\}$, we can prove that $\phi^{-1}(M) \leq G$.
Now, if we also know that if $M\trianglelefteq H$ and want to show that $\phi^{-1}(M)\trianglelefteq G$, we can argue as follows:
For elements $g\in G$ and $h \in H$, $\phi^{-1}(M)=\phi(hMh)^{-1}=\phi(hM^{-1}h^{-1})=\phi(h)\phi^{-1}(M)\phi(h)^{-1}$. Since $\phi(g)=h$, $\phi(h)^{-1}=g^{-1} \in G$ (since G is closed under taking inverses). But $\phi(h)$ is the inverse of $\phi(h)^{-1}$, thus $\phi(h)^{-1} = g \in G$. Therefore, $\phi^{-1}(M) = g\phi^{-1}(M)g^{-1}$, which implies that $\phi^{-1}(M) \trianglelefteq G$.
I just think there's a lot going on, particularly in this line:
It might help to have a different notation for the "pull-back" of $\phi$ (traditionally called the preimage), maybe something like $\phi_*(M)$ or $\phi^*(M)$ (one of them is used for pull-backs, I believe, but I forget which), because I think the notation is giving you the impression that the various $\cdot^{-1}$'s can be slid around freely; it's very confusing and I don't think it's true.
Even if that's not what you're thinking, it requires a ton of bookkeeping and careful writing to make sure you only write things that make sense, and it gets in the way of thinking.
Suppose $\phi\colon G \to H$ with $M \lhd H$. If we want to show that $\phi^{-1}(M) \lhd G$, it would be much easier (IMO) and definitely more safe to find a homomorphism $\theta\colon G \to\,??$ whose kernel is $\phi^{-1}(M)$.
For that, a hint: $$G \overset{\phi}{\longrightarrow} H \overset{\pi}{\longrightarrow} H / M.$$
It could be argued on the level of individual elements, but I truthfully don't even want to think about it!