[proofplan]
Choose partial isometries in $M$ implementing the two subequivalences. Their product gives an injective transport of subprojections of $p$ into a subprojection of $p$, and we iterate this transport starting from the part of $p$ not reached by the embedding of $q$ into $p$. The resulting countable family of orthogonal layers is summed strongly inside $M$. On the union of these layers we use the first partial isometry, and on the complementary part we use the inverse of the second partial isometry; the two pieces have orthogonal initial and final projections, so their sum is the required partial isometry from $p$ onto $q$.
[/proofplan]
[step:Choose partial isometries implementing the two subequivalences]
Since $p\precsim q$ inside $M$, there exist a projection $q_0\in M$ with $q_0\le q$ and a partial isometry $u\in M$ such that
\begin{align*}
u^*u=p,
\end{align*}
and
\begin{align*}
uu^*=q_0.
\end{align*}
Since $q\precsim p$ inside $M$, there exist a projection $p_0\in M$ with $p_0\le p$ and a partial isometry $w\in M$ such that
\begin{align*}
w^*w=q,
\end{align*}
and
\begin{align*}
ww^*=p_0.
\end{align*}
Define the projection $a_0\in M$ by
\begin{align*}
a_0=p-p_0.
\end{align*}
This is a projection because $p_0\le p$.
[guided]
The symbols $p\precsim q$ and $q\precsim p$ mean subequivalence by partial isometries belonging to the ambient von Neumann algebra $M$. Thus the first subequivalence gives a projection $q_0\in M$ with $q_0\le q$ and a partial isometry $u\in M$ satisfying
\begin{align*}
u^*u=p,
\end{align*}
and
\begin{align*}
uu^*=q_0.
\end{align*}
Likewise the second subequivalence gives a projection $p_0\in M$ with $p_0\le p$ and a partial isometry $w\in M$ satisfying
\begin{align*}
w^*w=q,
\end{align*}
and
\begin{align*}
ww^*=p_0.
\end{align*}
The Cantor-Schröder-Bernstein idea starts from the part of $p$ that is not hit by the embedding of $q$ into $p$. Since $p_0\le p$, the difference
\begin{align*}
a_0=p-p_0
\end{align*}
is a projection in $M$. This projection is the first unmatched layer on the $p$-side.
[/guided]
[/step]
[step:Iterate the transport map on subprojections of $p$]
Define the partial isometry $z\in M$ by
\begin{align*}
z=wu.
\end{align*}
Since $q_0=uu^*\le q=w^*w$, we have
\begin{align*}
z^*z=u^*w^*wu=u^*qu=u^*q_0u=p,
\end{align*}
and
\begin{align*}
zz^*=wu u^*w^*=wq_0w^*\le ww^*=p_0.
\end{align*}
Set
\begin{align*}
r=zz^*=wq_0w^*.
\end{align*}
For every projection $e\in M$ with $e\le p$, define its transported projection $\theta(e)\in M$ by
\begin{align*}
\theta(e)=zez^*.
\end{align*}
Then $\theta(e)$ is a projection with $\theta(e)\le r\le p_0$.
Define recursively a sequence of projections $(a_n)_{n=0}^{\infty}$ in $M$ by
\begin{align*}
a_{n+1}=\theta(a_n)=za_nz^*
\end{align*}
for every integer $n\ge 0$.
Because $a_0\le p-p_0$ and $\theta(e)\le p_0$ for every $e\le p$, we have
\begin{align*}
a_0\theta(e)=0
\end{align*}
for every projection $e\le p$. Hence $a_0a_n=0$ for every $n\ge 1$. Since conjugation by $z$ preserves products of subprojections of $p$, it preserves orthogonality: if $e,f\le p$ and $ef=0$, then
\begin{align*}
\theta(e)\theta(f)=zez^*zfz^*=ze p fz^*=zefz^*=0.
\end{align*}
Therefore, for $0\le m<n$, applying $\theta^m$ to the orthogonality of $a_0$ and $a_{n-m}$ gives
\begin{align*}
a_m a_n=0.
\end{align*}
Thus the projections $(a_n)_{n=0}^{\infty}$ are pairwise orthogonal.
[/step]
[step:Form the strong sum of the layers in $p$]
For each integer $N\ge 0$, define the finite partial sum projection $s_N\in M$ by
\begin{align*}
s_N=\sum_{n=0}^{N}a_n.
\end{align*}
The projections $(s_N)_{N=0}^{\infty}$ are increasing and satisfy $s_N\le p$ for every $N$. By completeness of projection lattices in von Neumann algebras, as in [citetheorem:9267], their supremum exists in $M$; denote it by $a\in M$. Equivalently, $s_N\to a$ strongly.
Since left and right multiplication by the bounded operator $z$ are strongly continuous on bounded sets, we obtain
\begin{align*}
zaz^*=\operatorname*{SOT\!-\!lim}_{N\to\infty}zs_Nz^*.
\end{align*}
For every $N$,
\begin{align*}
zs_Nz^*=\sum_{n=0}^{N}za_nz^*=\sum_{n=1}^{N+1}a_n=s_{N+1}-a_0.
\end{align*}
Taking strong limits gives
\begin{align*}
zaz^*=a-a_0.
\end{align*}
[guided]
We now collect all the alternating layers into one projection. For each integer $N\ge 0$, define
\begin{align*}
s_N=\sum_{n=0}^{N}a_n.
\end{align*}
Because the projections $a_0,\dots,a_N$ are pairwise orthogonal, $s_N$ is again a projection. Also $s_N\le p$, since each $a_n\le p$ and the sum is orthogonal.
The sequence $(s_N)$ is increasing. The projection lattice of a von Neumann algebra is complete, by [citetheorem:9267], so the supremum of the projections $s_N$ belongs to $M$. We denote this supremum by $a$. In concrete operator terms, the increasing sequence of projections $(s_N)$ converges strongly to $a$.
The identity we need is that the transport map shifts the layers forward. Since $a_{n+1}=za_nz^*$, for every $N$ we have
\begin{align*}
zs_Nz^*=\sum_{n=0}^{N}za_nz^*.
\end{align*}
Thus
\begin{align*}
zs_Nz^*=\sum_{n=0}^{N}a_{n+1}.
\end{align*}
The last sum is exactly the finite sum $s_{N+1}$ with the first layer $a_0$ removed:
\begin{align*}
zs_Nz^*=s_{N+1}-a_0.
\end{align*}
Because $z$ is bounded, if $s_N\to a$ strongly, then $zs_Nz^*\to zaz^*$ strongly. Also $s_{N+1}-a_0\to a-a_0$ strongly. Therefore
\begin{align*}
zaz^*=a-a_0.
\end{align*}
This is the operator-algebraic version of the set-theoretic fact that the injection sends the union of the special layers onto the same union with the first layer removed.
[/guided]
[/step]
[step:Identify the complementary part matched by the inverse of the second partial isometry]
Since $a_0=p-p_0$, the identity $zaz^*=a-a_0$ gives
\begin{align*}
p-a=p_0-(a-a_0).
\end{align*}
Using $z=wu$ and $uu^*=q_0$, this becomes
\begin{align*}
p-a=p_0-wuau^*w^*.
\end{align*}
Let $b\in M$ be the projection
\begin{align*}
b=uau^*.
\end{align*}
Then $b\le q_0\le q$, and
\begin{align*}
w b w^*=p_0-(p-a).
\end{align*}
Since $w^*w=q$, conjugation by $w$ is an order isomorphism from projections below $q$ to projections below $p_0$. Hence
\begin{align*}
w^*(p-a)w=q-b.
\end{align*}
Thus the projection $a\le p$ is matched with $b\le q$ by $u$, and the complementary projection $p-a$ is matched with $q-b$ by $w^*$.
[/step]
[step:Sum the two orthogonal partial isometries]
Define the operator $v\in M$ by
\begin{align*}
v=ua+w^*(p-a).
\end{align*}
Both summands belong to $M$, so $v\in M$.
The initial projections of the two summands are orthogonal. Indeed,
\begin{align*}
(ua)^*(ua)=a,
\end{align*}
and
\begin{align*}
(w^*(p-a))^*(w^*(p-a))=(p-a)ww^*(p-a)=p-a,
\end{align*}
because $p-a\le p_0=ww^*$. Also $a(p-a)=0$.
The final projections are orthogonal as well:
\begin{align*}
(ua)(ua)^*=uau^*=b,
\end{align*}
and
\begin{align*}
w^*(p-a)w=q-b.
\end{align*}
Therefore the cross terms vanish, and
\begin{align*}
v^*v=a+(p-a)=p.
\end{align*}
Similarly,
\begin{align*}
vv^*=b+(q-b)=q.
\end{align*}
Thus $v$ is a partial isometry in $M$ with initial projection $p$ and final projection $q$. Hence $p\sim q$ inside $M$, as required.
[/step]