I'm having difficulties in calculating the angular size of the causally connected regions on the cosmic microwave background (CMB), as seen from Earth today.  I read in several documents that this angle is of about $1^{\circ}$, but most authors are giving only crude hand waving arguments about that number.  See for example that page (look at the last two paragraphs):

https://ned.ipac.caltech.edu/level5/Sept02/Kinney/Kinney4_2.html

I'm trying to reproduce that value by explicit calculations from the standard FLRW metric, in the case of a spatially flat geometry ($k = 0$):
\begin{equation}\tag{1}
ds^2 =dt^2 - a^2(t) (dx^2 + dy^2 + dz^2).
\end{equation}
At observation time $t_{obs}$ (today: $t_{obs} \approx 13,8~\mathrm{Gyears}$), the ***proper distance*** from a given source (emitting light at time $t_{em} \approx 300~000~\mathrm{years}$) is given by $ds^2 = 0$ (light-like spacetime intervall):
\begin{equation}\tag{2}
\mathcal{D}(t_{obs}, t_{em}) = a(t_{obs}) \int_{t_{em}}^{t_{obs}} \frac{1}{a(t)} \, dt.
\end{equation}
For example, this distance to the CMB surface, in the case of a ***dust universe***, is found with the scale factor $a(t) \propto t^{2/3}$:
\begin{equation}\tag{3}
\mathcal{D} = 3 \, (\, t_{obs} - t_{obs}^{2/3} \, t_{em}^{1/3}).
\end{equation}
This gives $\mathcal{D} \approx 40,2~\mathrm{Gly}$ (more accurate models with radiation gives about $42$ or $45~\mathrm{Gly}$).

Now, the causally correlated regions on the CMB sphere should have a proper radius of (considering the dust only universe):
\begin{equation}\tag{4}
R_{causal} = a(t_{em}) \int_0^{t_{em}} \frac{1}{a(t)} \, dt = 3 \, t_{em},
\end{equation}
i.e. $R_{causal} \approx 9 \times 10^5 ~ \mathrm{ly}$.  As seen from Earth, the angular size of a causal patch should have an angular size $\alpha_{causal}$ of:
\begin{equation}\tag{5}
\alpha_{causal} = 2 \arctan{\Big( \frac{R_{causal}}{\mathcal{D}} \Big)} \approx 0.003^{\circ}.
\end{equation}
Of course, this is much too short, and I'm probably doing a naive calculation.  I don't know where I'm making a mistake.  

How should I fix the angular size (5)?