Here is a slightly different approach that does it "all at once" like you were trying to.
Theorem If $\kappa$ is universal and has uncountable cofinality, then $\{\alpha<\kappa: V_\alpha\preceq V_\kappa\}$ is unbounded in $\kappa.$
Essentially, we want to attempt to prove the reflection theorem for all formulas at once and show that we can avoid the pitfalls.
Recall that the standard proof is a closure argument. At any rank $\alpha$, for any formula $\exists x\phi(x,\vec y)$ with existential quantifier out front, we can define a "Skolem function" $F(\vec y)$ for $\vec y\in V_\alpha$ that produces the least rank of a witness if one exists. Then we take the $\sup$ over $\vec y\in V_\alpha$ and then take the sup over all the existential formulas to get an $\alpha'>\alpha$ so that all the witnesses are in $V_{\alpha'}$. Then we iterate this $\omega$ times for closure so we can invoke the Tarski-Vaught lemma to show we have reflection.
The reason we can't prove the reflection theorem for all formulas at once is that we cannot talk about all formulas at once, or more exactly, we can't define a uniform satisfaction relation for them. When we work external to a set $V_\kappa$ we do have a uniform satisfaction relation, however there is still an obstacle since we cannot define this in $V_\kappa.$ Thus while the individual "Skolem functions" $F(\vec y)$ may be defined inside $V_\kappa,$ the set of them cannot.
But we can still take the sup over $\vec y$ for each individually inside $V_\kappa$, and then we have a countable collection of ordinals $<\kappa$ that we can take the sup of from the outside. This is where the assumption of uncountable cofinality comes in. (And then it comes in again when we iterate countably many times.)