I assume you know the Sylow theorems. Let $n_p$ denote the number of subgroups of order $p^2$, and $n_q$ denote the number of subgroups of order $q$.
Suppose for a contradiction that there are no normal Sylow subgroups, so $n_p > 1$ and $n_q > 1$. Now, $n_p$ must divide $q$, and $q$ is prime, so this forces $n_p = q$. Also, $n_p \equiv 1$ (mod $p$), so $n_p > p$, and similarly, $n_q > q$. Combining these facts, we see that $n_q > q = n_p > p$, so in particular $n_q \neq p$. Since $n_q$ must divide $p^2$ and we have ruled out $n_q = p$, we must have $n_q = p^2$.
Now we can apply your argument. There are $p^2$ subgroups of order $q$. Since they have prime order, each pair intersects trivially, so each of these $p^2$ subgroups contributes $q-1$ elements, for a total of $p^2(q-1)$ elements of order $q$. Since the entire group has order $p^2q$, this leaves $p^2q - p^2(q-1) = p^2$ elements of order not equal to $q$.
Now, $G$ must have at least one subgroup of order $p^2$, so that accounts for all of the remaining $p^2$ elements. There is no room for a second subgroup of order $p^2$. This means that $n_p = 1$, but this contradicts our assumption that $n_p$ and $n_q$ are both greater than $1$. Therefore one of them must be equal to $1$, so there is either a normal subgroup of order $q$ or a normal subgroup of order $p^2$.