I don't understand some things in the proof given here on pages 10 and 11 ('Proof of 3'), where the goal is to show that $(A_1\otimes A_2)^\dagger = A_1^\dagger\otimes A_2^\dagger$, for any real matrices $A_1$ and $A_2$ ($\dagger$ denotes the Moore-Penrose inverse). On page 11, where $(A_1\otimes A_2)^\dagger$ is being calculated, I don't understand how we obtain the third sign of equality, i.e. I don't understand how the following is equal: $$\underbrace{\begin{pmatrix}C_{A_1}&0\\0&0\end{pmatrix}}_{m_{A_1}\times n_{A_1}}\otimes \underbrace{\begin{pmatrix}C_{A_2}&0\\0&0\end{pmatrix}}_{m_{A_2}\times n_{A_2}} = \underbrace{\begin{pmatrix}C_{A_1}\otimes C_{A_2}&0&0&0\\0&0&0&0\\0&0&0&0\\0&0&0&0\end{pmatrix}}_{(m_{A_1}m_{A_2})\times (n_{A_1}n_{A_2})}. \tag{1}$$
So, I have an example where I don't see that this works. Let $C_{A_1} = \begin{pmatrix}3&0\\0&2\end{pmatrix}$, $m_{A_1}=4$, $n_{A_1}=3$ and $C_{A_2} = \begin{pmatrix}4\end{pmatrix}$, $m_{A_2}=2$, $n_{A_2}=5$ (I believe these values can appear in SVD decompositions of certain matrices). Then the left side of (1) is \begin{gather} \begin{pmatrix}3&0&0\\0&2&0\\0&0&0\\0&0&0\end{pmatrix}\otimes \begin{pmatrix}4&0&0&0&0\\0&0&0&0&0\end{pmatrix}=\\ =\begin{pmatrix} \color{red}{12}&0&0&0&0&0&0&0&0&0&0&0&0&0&0\\ 0&0&0&0&0&0&0&0&0&0&0&0&0&0&0\\ 0&0&0&0&0&\color{red}{8}&0&0&0&0&0&0&0&0&0\\ 0&0&0&0&0&0&0&0&0&0&0&0&0&0&0\\ 0&0&0&0&0&0&0&0&0&0&0&0&0&0&0\\ 0&0&0&0&0&0&0&0&0&0&0&0&0&0&0\\ 0&0&0&0&0&0&0&0&0&0&0&0&0&0&0\\ 0&0&0&0&0&0&0&0&0&0&0&0&0&0&0 \end{pmatrix}\end{gather} (I checked this using numpy.kron function in Python) and the right side is $$ \begin{pmatrix} \color{red}{12}&0&0&0&0&0&0&0&0&0&0&0&0&0&0\\ 0&\color{red}{8}&0&0&0&0&0&0&0&0&0&0&0&0&0\\ 0&0&0&0&0&0&0&0&0&0&0&0&0&0&0\\ 0&0&0&0&0&0&0&0&0&0&0&0&0&0&0\\ 0&0&0&0&0&0&0&0&0&0&0&0&0&0&0\\ 0&0&0&0&0&0&0&0&0&0&0&0&0&0&0\\ 0&0&0&0&0&0&0&0&0&0&0&0&0&0&0\\ 0&0&0&0&0&0&0&0&0&0&0&0&0&0&0 \end{pmatrix}.$$ Soo, I believe that the Kronecker product of two rectangular diagonal matrices doesn't have to be a rectangular diagonal matrix.
Please enlighten me a little bit.
IMO the proof is not 100% accurate at this point. The authors mean the right thing, but forgot or omitted a piece.
Here is what happens: Let's say $A_1$ and $A_2$ are $M_1 \times N_1$ and $M_2 \times N_2$, respectively. Moreover, let's assume their SVD is given by $A_i = U_i\cdot\Sigma_i\cdot V_i^H$, respectively, where $U_i$ is $M_i \times M_i$ and $V_i$ is $N_i \times N_i$ so that $\Sigma_i$ is $M_i \times N_i$ (rectangular).
Then for $A_1 \otimes A_2$ we obtain $$ A_1 \otimes A_2 = (U_1\cdot\Sigma_1\cdot V_1^H) \otimes (U_2\cdot\Sigma_2\cdot V_2^H) = (U_1 \otimes U_2) \cdot (\Sigma_1 \otimes \Sigma_2) \cdot (V_1 \otimes V_2)^H.$$ Now this suggests that this is the SVD of $A_1 \otimes A_2$ since $U_1 \otimes U_2$ is square unitary, $V_1 \otimes V_2$ is square unitary and $\Sigma_1 \otimes \Sigma_2$ is nonnegative and ... diagonal? But here's the catch: as you've correctly noted, the Kronecker product of two rectangular diagonal matrices is not necessarily diagonal.
This problem has an easy fix though: permutations. In your example: you'd need to permute column 2 and 8 as well as row 2 and 3. More generally, you can always find suitable permutation matrices such that $P_r^T \cdot (\Sigma_1 \otimes \Sigma_2) \cdot P_c$ is diagonal. Even then, it's still not an SVD, since the singular values need to be ordered by magnitude and the Kronecker product will in general not order them. But this is again solved by permutations. So we can also find permutation matrices such that ${P}_r^T \cdot (\Sigma_1 \otimes \Sigma_2) \cdot {P}_c$ is diagonal and has its diagonal elements ordered by magnitude. Therefore, we can write $A_1 \otimes A_2$ as $$ A_1 \otimes A_2 = \Big[(U_1 \otimes U_2) \cdot P_r\Big]\cdot \Big[P_r^T \cdot (\Sigma_1 \otimes \Sigma_2) P_c\Big] \cdot \Big[P_c^T \cdot (V_1 \otimes V_2)^H\Big],$$ which now is an SVD in terms of $\bar{U} = (U_1 \otimes U_2) \cdot P_r$, $\bar{\Sigma} = P_r^T \cdot (\Sigma_1 \otimes \Sigma_2) P_c$ and $\bar{V} = (P_c^T \cdot (V_1 \otimes V_2)^H)^H = (V_1 \otimes V_2) \cdot P_c$. This means, its singular vectors are Kronecker products of the singular vectors of $A_1$ and $A_2$, just reordered to account for the ordering of the singular values.
The same happens in the proof. The two sides of your equation are not equal, but they are equal up to row/column permutations. The permutations have no real effect on the arguments in the proof. Maybe they were just omitted for clarity.