[step:Fix the translated name convention for third coordinates]
Let $\mathsf{Name}_{P * \dot Q}$ denote the class of $P * \dot Q$-forcing names and let $\mathsf{Name}_{P}(\mathsf{Name}_{\dot Q})$ denote the class of $P$-names whose $P$-generic interpretations are $\dot Q_G$-names. Fix the standard recursive ordered-pair coding of forcing names used in two-step forcing iterations. Let
\begin{align*}
\operatorname{Tr}: \mathsf{Name}_{P * \dot Q} \to \mathsf{Name}_{P}(\mathsf{Name}_{\dot Q})
\end{align*}
denote the standard translation map sending each $P * \dot Q$-name $\dot a$ to a $P$-name $\operatorname{Tr}(\dot a)$ such that
\begin{align*}
(\operatorname{Tr}(\dot a)_G)_H = \dot a_{G * H}
\end{align*}
for every $P$-generic filter $G$ over $M$ and every $\dot Q_G$-generic filter $H$ over $M[G]$.
[claim:Forcing relations are preserved by the two-step name translation]
In the fixed recursive coding of names, $\operatorname{Tr}$ is chosen recursively together with an inverse recoding map on its canonical range: ordered pairs in a $P * \dot Q$-name are replaced rank-by-rank by $P$-names for the corresponding $\dot Q$-names, and the inverse map is defined only on names produced by this recursion. For every formula $\varphi(x_1,\dots,x_n)$ in the forcing language of $P * \dot Q$, every condition $(p,\dot q) \in P * \dot Q$, and every tuple $\dot a_1,\dots,\dot a_n$ of $P * \dot Q$-names,
\begin{align*}
(p,\dot q) \Vdash_{P * \dot Q} \varphi(\dot a_1,\dots,\dot a_n)
\end{align*}
if and only if
\begin{align*}
p \Vdash_P ``\dot q \Vdash_{\dot Q} \varphi(\operatorname{Tr}(\dot a_1),\dots,\operatorname{Tr}(\dot a_n))".
\end{align*}
[/claim]
[proof]
The construction of $\operatorname{Tr}$ is by recursion on the rank of names: each ordered pair appearing in a $P * \dot Q$-name is recoded as a $P$-name whose $P$-generic interpretation is the corresponding $\dot Q_G$-name. The defining property
\begin{align*}
(\operatorname{Tr}(\dot a)_G)_H = \dot a_{G * H}
\end{align*}
therefore follows by induction on the rank of $\dot a$ for every $P$-generic filter $G$ over $M$ and every $\dot Q_G$-generic filter $H$ over $M[G]$. The equivalence of the two forcing assertions follows by induction on the complexity of $\varphi$: atomic membership and equality are exactly the rank-recursion just described, Boolean connectives follow from the recursive definition of forcing, and quantifiers follow because the translation is defined on all $P * \dot Q$-names and has an inverse recoding map on its canonical range. The hypotheses used are precisely that $1_P \Vdash ``\dot Q \text{ is a forcing poset}"$, that $(p,\dot q)$ is a condition in $P * \dot Q$, and that all names being translated are $P * \dot Q$-names.
[/proof]
For a $P * \dot Q$-name $\dot r$, write
\begin{align*}
\dot r^\flat := \operatorname{Tr}(\dot r).
\end{align*}
Thus $\dot r^\flat$ is a $P$-name whose interpretation by a $P$-generic filter is a $\dot Q_G$-name.
The hypothesis on $\dot S$ says exactly that this translation sends the $P * \dot Q$-name $\dot R$ to the $P$-name $\dot S$ for a $\dot Q$-name forcing poset, in the sense that
\begin{align*}
1_P \Vdash_P ``\dot S \text{ is a } \dot Q\text{-name for a forcing poset}"
\end{align*}
and, after generic interpretation,
\begin{align*}
(\dot S_G)_H = \dot R_{G * H}.
\end{align*}
[/step]