[proofplan]
We use the canonical isomorphism $S^{-1}M \cong S^{-1}R \otimes_R M$ to reduce the problem to an associativity-of-tensor-products computation. Replacing each localized module by its tensor description, the left side becomes $(S^{-1}R \otimes_R M) \otimes_{S^{-1}R} (S^{-1}R \otimes_R N)$. We apply the tensor-hom adjunction to collapse the middle $S^{-1}R$ factors, obtaining $S^{-1}R \otimes_R (M \otimes_R N)$, which is canonically isomorphic to $S^{-1}(M \otimes_R N)$. We then verify the composite sends $\frac{m}{s_1} \otimes \frac{n}{s_2} \mapsto \frac{m \otimes n}{s_1 s_2}$.
[/proofplan]
[step:Recall the canonical isomorphism $S^{-1}M \cong S^{-1}R \otimes_R M$]
For any $R$-module $M$, there is a natural isomorphism of $S^{-1}R$-modules
\begin{align*}
\alpha_M: S^{-1}R \otimes_R M &\xrightarrow{\;\sim\;} S^{-1}M, \\
\frac{r}{s} \otimes m &\longmapsto \frac{rm}{s},
\end{align*}
with inverse $\frac{m}{s} \mapsto \frac{1}{s} \otimes m$. This is a standard identification: the localization functor $S^{-1}(\cdot)$ is naturally isomorphic to the extension-of-scalars functor $S^{-1}R \otimes_R (\cdot)$.
[/step]
[step:Reduce the left side using tensor associativity]
Using the isomorphism $\alpha_M$ and $\alpha_N$, we identify
\begin{align*}
S^{-1}M \otimes_{S^{-1}R} S^{-1}N \cong (S^{-1}R \otimes_R M) \otimes_{S^{-1}R} (S^{-1}R \otimes_R N).
\end{align*}
We now simplify the right side. The tensor product $(\cdot) \otimes_{S^{-1}R} (S^{-1}R \otimes_R N)$ can be rewritten using the canonical isomorphism: for any $S^{-1}R$-module $Q$,
\begin{align*}
Q \otimes_{S^{-1}R} (S^{-1}R \otimes_R N) \cong Q \otimes_R N,
\end{align*}
since tensoring an $S^{-1}R$-module $Q$ with $S^{-1}R$ over $S^{-1}R$ returns $Q$ itself, and the remaining tensor is over $R$. More precisely, the isomorphism sends $q \otimes (\frac{r}{s} \otimes n) \mapsto \frac{r}{s} q \otimes n$, using the $S^{-1}R$-action on $Q$.
Applying this with $Q = S^{-1}R \otimes_R M$:
\begin{align*}
(S^{-1}R \otimes_R M) \otimes_{S^{-1}R} (S^{-1}R \otimes_R N) \cong (S^{-1}R \otimes_R M) \otimes_R N \cong S^{-1}R \otimes_R (M \otimes_R N),
\end{align*}
where the second isomorphism is the associativity of tensor products: $(A \otimes_R B) \otimes_R C \cong A \otimes_R (B \otimes_R C)$ applied with $A = S^{-1}R$, $B = M$, $C = N$.
[guided]
The idea is to replace each $S^{-1}M$ and $S^{-1}N$ by their tensor descriptions and then use formal properties of tensor products to simplify.
Starting from $S^{-1}M \otimes_{S^{-1}R} S^{-1}N$, we substitute $S^{-1}M \cong S^{-1}R \otimes_R M$ and $S^{-1}N \cong S^{-1}R \otimes_R N$ to get
\begin{align*}
(S^{-1}R \otimes_R M) \otimes_{S^{-1}R} (S^{-1}R \otimes_R N).
\end{align*}
How do we simplify this? The key is that when we tensor an $S^{-1}R$-module with $S^{-1}R \otimes_R N$ over $S^{-1}R$, the $S^{-1}R$ factor in $S^{-1}R \otimes_R N$ gets "absorbed" by the $S^{-1}R$-linearity of the tensor product. Formally, for any $S^{-1}R$-module $Q$:
\begin{align*}
Q \otimes_{S^{-1}R} (S^{-1}R \otimes_R N) \cong Q \otimes_R N.
\end{align*}
This is because $S^{-1}R \otimes_R N$, viewed as an $S^{-1}R$-module, is the extension of scalars of $N$, and tensoring $Q$ (an $S^{-1}R$-module) with an extension of scalars over $S^{-1}R$ is the same as tensoring $Q$ with $N$ over $R$ (this is the "transitivity of extension of scalars").
Applying this with $Q = S^{-1}R \otimes_R M$:
\begin{align*}
(S^{-1}R \otimes_R M) \otimes_{S^{-1}R} (S^{-1}R \otimes_R N) &\cong (S^{-1}R \otimes_R M) \otimes_R N \\
&\cong S^{-1}R \otimes_R (M \otimes_R N),
\end{align*}
where the second step is the associativity of tensor products over $R$.
[/guided]
[/step]
[step:Apply $\alpha_{M \otimes_R N}$ to obtain $S^{-1}(M \otimes_R N)$ and trace the composite map]
Applying the canonical isomorphism $\alpha_{M \otimes_R N}: S^{-1}R \otimes_R (M \otimes_R N) \xrightarrow{\sim} S^{-1}(M \otimes_R N)$, the full composite is
\begin{align*}
S^{-1}M \otimes_{S^{-1}R} S^{-1}N \xrightarrow{\;\sim\;} S^{-1}R \otimes_R (M \otimes_R N) \xrightarrow{\;\sim\;} S^{-1}(M \otimes_R N).
\end{align*}
We trace a pure tensor through the composite. Start with $\frac{m}{s_1} \otimes \frac{n}{s_2} \in S^{-1}M \otimes_{S^{-1}R} S^{-1}N$.
Under $\alpha_M^{-1} \otimes \alpha_N^{-1}$, this maps to $(\frac{1}{s_1} \otimes m) \otimes (\frac{1}{s_2} \otimes n)$.
Under the simplification $Q \otimes_{S^{-1}R} (S^{-1}R \otimes_R N) \cong Q \otimes_R N$, the element $(\frac{1}{s_1} \otimes m) \otimes (\frac{1}{s_2} \otimes n)$ maps to $(\frac{1}{s_1 s_2} \otimes m) \otimes n$ (absorbing $\frac{1}{s_2}$ into the $S^{-1}R$-action on $Q = S^{-1}R \otimes_R M$, where $\frac{1}{s_2} \cdot (\frac{1}{s_1} \otimes m) = \frac{1}{s_1 s_2} \otimes m$).
Under associativity, $(\frac{1}{s_1 s_2} \otimes m) \otimes n \mapsto \frac{1}{s_1 s_2} \otimes (m \otimes n)$.
Under $\alpha_{M \otimes_R N}$, $\frac{1}{s_1 s_2} \otimes (m \otimes n) \mapsto \frac{m \otimes n}{s_1 s_2}$.
Therefore the composite sends $\frac{m}{s_1} \otimes \frac{n}{s_2} \mapsto \frac{m \otimes n}{s_1 s_2}$, as stated.
[guided]
Let us trace the isomorphism on a pure tensor $\frac{m}{s_1} \otimes \frac{n}{s_2}$ step by step.
**Step 1: Replace localizations by tensor descriptions.** Under $\alpha_M^{-1}$, $\frac{m}{s_1} \mapsto \frac{1}{s_1} \otimes m$. Under $\alpha_N^{-1}$, $\frac{n}{s_2} \mapsto \frac{1}{s_2} \otimes n$. So the pure tensor becomes $(\frac{1}{s_1} \otimes m) \otimes (\frac{1}{s_2} \otimes n)$ in $(S^{-1}R \otimes_R M) \otimes_{S^{-1}R} (S^{-1}R \otimes_R N)$.
**Step 2: Absorb the inner $S^{-1}R$.** The tensor is over $S^{-1}R$, so $(\frac{1}{s_1} \otimes m) \otimes_{S^{-1}R} (\frac{1}{s_2} \otimes n) = (\frac{1}{s_2} \cdot (\frac{1}{s_1} \otimes m)) \otimes_R n = (\frac{1}{s_1 s_2} \otimes m) \otimes_R n$, where we used $S^{-1}R$-linearity in the first tensor factor: $\frac{1}{s_2} \cdot (\frac{1}{s_1} \otimes m) = \frac{1}{s_1 s_2} \otimes m$.
**Step 3: Associativity.** Under $(A \otimes_R B) \otimes_R C \cong A \otimes_R (B \otimes_R C)$: $(\frac{1}{s_1 s_2} \otimes m) \otimes n \mapsto \frac{1}{s_1 s_2} \otimes (m \otimes n)$.
**Step 4: Apply $\alpha_{M \otimes_R N}$.** $\frac{1}{s_1 s_2} \otimes (m \otimes n) \mapsto \frac{1 \cdot (m \otimes n)}{s_1 s_2} = \frac{m \otimes n}{s_1 s_2}$.
The composite is the map stated in the theorem. Since each step is a natural isomorphism, the composite is a natural isomorphism of $S^{-1}R$-modules.
[/guided]
[/step]
[step:Specialize to obtain the statement for localization at a prime]
For a prime ideal $\mathfrak{p} \subset R$, take $S = R \setminus \mathfrak{p}$. Then $S^{-1}R = R_{\mathfrak{p}}$, $S^{-1}M = M_{\mathfrak{p}}$, $S^{-1}N = N_{\mathfrak{p}}$, and $S^{-1}(M \otimes_R N) = (M \otimes_R N)_{\mathfrak{p}}$. The isomorphism above specializes to
\begin{align*}
M_{\mathfrak{p}} \otimes_{R_{\mathfrak{p}}} N_{\mathfrak{p}} \cong (M \otimes_R N)_{\mathfrak{p}}.
\end{align*}
[/step]