This doesn't add much to your excellent effort, other than some details.
For any pair of subgroups $H, K\le G$, the set $H\times K$ can be partitioned into equivalence classes all equicardinal to $H\cap K$, and such that $(H\times K)/\sim$ is equicardinal to $HK$. In fact:
Let's define in $H\times K$ the equivalence relation: $(h,k)\sim (h',k')\stackrel{(def.)}{\iff} hk=h'k'$. The equivalence class of $(h,k)$ is given by:
$$[(h,k)]_\sim=\{(h',k')\in H\times K\mid h'k'=hk\} \tag 1$$
Now define the following map from any equivalence class:
\begin{alignat*}{1}
f_{(h,k)}:[(h,k)]_\sim &\longrightarrow& H\cap K \\
(h',k')&\longmapsto& f_{(h,k)}((h',k')):=k'k^{-1} \\
\tag 2
\end{alignat*}
Note that $k'k^{-1}\in K$ by closure of $K$, and $k'k^{-1}\in H$ because $k'k^{-1}=h'^{-1}h$ (being $(h',k')\in [(h,k)]_\sim$) and by closure of $H$. Therefore, indeed $k'k^{-1}\in H\cap K$.
Lemma 1. $f_{(h,k)}$ is bijective.
Proof.
\begin{alignat}{2}
f_{(h,k)}((h',k'))=f_{(h,k)}((h'',k'')) &\space\space\space\Longrightarrow &&k'k^{-1}=k''k^{-1} \\
&\space\space\space\Longrightarrow &&k'=k'' \\
&\stackrel{h'k'=h''k''}{\Longrightarrow} &&h'=h'' \\
&\space\space\space\Longrightarrow &&(h',k')=(h'',k'') \\
\end{alignat}
and the map is injective. Then, for every $a\in H\cap K$, we get $ak\in K$ and $a=f_{(h,k)}((h',ak))$, and the map is surjective. $\space\space\Box$
Now define the following map from the quotient set:
\begin{alignat}{1}
f:(H\times K)/\sim &\longrightarrow& HK \\
[(h,k)]_\sim &\longmapsto& f([(h,k)]_\sim):=hk \\
\tag 3
\end{alignat}
Lemma 2. $f$ is well-defined and bijective.
Proof.
- Good definition: $(h',k')\in [(h,k)]_\sim \Rightarrow f([(h',k')]_\sim)=h'k'=hk=f([(h,k)]_\sim)$;
- Injectivity: $f([(h',k')]_\sim)=f([(h,k)]_\sim) \Rightarrow h'k'=hk \Rightarrow (h',k')\in [(h,k)]_\sim \Rightarrow [(h',k')]_\sim=[(h,k)]_\sim$;
- Surjectivity: for every $ab\in HK$ , we get $ab=f([(a,b)]_\sim)$. $\space\space\Box$
As a corollary, if $|H\cap K|=1$, then all the classes $[(h,k)]_\sim$ are singletons, and hence the map $\tilde f\colon H\times K\to (H\times K)/\sim$, defined by $(h,k)\mapsto [(h,k)]_\sim$, is bijective; this, in turn, implies that the composite map $f\circ\tilde f\colon H\times K\to HK$ is bijective, too. If, in addition, $H\unlhd G$ and $K\unlhd G$, then for every $h\in H, k\in K$ we have that $hkh^{-1}k^{-1}\in H\cap K$, whence $hkh^{-1}k^{-1}=e$ and finally $hk=kh$. This, and the assumption $HK=G$, make of $f\circ\tilde f$ a (bijective) group homomorphism (namely an isomorphism). In fact:
\begin{alignat}{1}
(f\circ\tilde f)((h,k)(h',k')) &= (f\circ\tilde f)(hh',kk') \\
&= f(\tilde f(hh',kk')) \\
&= f([hh',kk']_\sim) \\
&= hh'kk' \\
&= hkh'k' \\
&= (hk)(h'k') \\
&= f([h,k]_\sim)f([h',k']_\sim) \\
&= f(\tilde f(h,k))f(\tilde f(h',k')) \\
&= ((f\circ\tilde f)(h,k))((f\circ\tilde f)(h',k')) \\
\end{alignat}