Proof of additivity of angular velocity Let $E$ be the 3-dimensional space with origin $O$ (and without any preferred frame of reference) and assume that we have three orthonormal frames $F_k = \{e_1^k,e_2^k,e_3^k\}$ for $k=1,2,3$.
Suppose that $F_2$ is rotating around $F_1$ (which is fixed) and $F_3$ is rotating around $F_2$.
Now this implies that there exist rotations $R_{21}$ and $R_{32}$ such that $R_{32} e_i^2 = e_i^3$ and $R_{21} e_i^1 = e_i^2$.
Since they are orthogonal transformations we have $R_{kl}R_{kl}^{\top} = I$ and hence by differentiation it follows that $\dot{R_{kl}}R_{kl}^{\top}$ is skew-symmetric, i.e. there exists some vector (angular velocity) $\omega_{kl}$ such that $\dot{R_{kl}}R_{kl}^{\top} v = \omega_{kl} \times v$.
To find the angular velocity of $F_3$ w.r.t. $F_1$ we calculate
\begin{gather*}
\dot{e_i^3} 
= \frac{d}{dt} R_{32}R_{21}e_i^1 
= \dot{R_{32}}R_{21}e_i^1 + R_{32}\dot{R_{21}}e_i^1 
= \dot{R_{32}}R_{32}^\top e_i^3 + R_{32}\dot{R_{21}}R_{21}^\top e_i^2 \\
= \omega_{32} \times e_i^3 + R_{32}(\omega_{21} \times e_i^2) 
= \omega_{32} \times e_i^3 + (R_{32}\omega_{21}) \times e_i^3 
= (\omega_{32}+ R_{32}\omega_{21}) \times e_i^3 
\end{gather*}
where we have used the fact that $ R_{32}(v \times w) = (R_{32}v)\times (R_{32} w)$, since $R_{32}$ is a rotation.
This suggests that the angular velocity $\omega_{31}$ of $F_3$ w.r.t. $F_1$ is
\begin{align*}
\omega_{31} = \omega_{32}+ R_{32}\omega_{21}.
\end{align*}
However, in most books on rigid body mechanics (see e.g. here or here)it is claimed that
\begin{align*}
\omega_{31} = \omega_{32}+ \omega_{21}.
\end{align*}

Question: Where is the error in the above "proof" of the angular velocity addition formula?

 A: Let's write the composite rotation of vector, $v_0$,
$v_2(t) = R^{20}(t)v_0 = R^{21}(t) R^{10}(t) v_0$,
and evaluate the time derivative,
$\dot{v}_2(t) = \dot{R}^{20}(t)v_0 = \Omega^{20} R^{20} v_0 = \Omega^{20} v_2 = \omega^{20} \times v_2 \\
\qquad = \dfrac{d}{dt} \left( R^{21} R^{10} \right) v_0 = \\
\qquad = \left( \dot{R}^{21} R^{10} + R^{21} \dot{R}^{10}\right) v_0 = \\
\qquad = \left( \dot{R}^{21} R^{10} + R^{21} \Omega^{10} R^{10} \right) v_0 = \\
\qquad = \left( \dot{R}^{21} R^{12} + R^{21} \Omega^{10} R^{12} \right) R^{21} R^{10} v_0 = \\
\qquad = \left( \dot{R}^{21} R^{12} + R^{21} \Omega^{10} R^{12} \right) v_2 =
$.
Now, it's possible to prove (for details, see the handwritten notes linked at the end of the answer) that
$\dot{R}^{21} = \dfrac{d R^{21}}{dt}  = \dfrac{^1d R^{21}}{dt} + \Omega^{10} R^{21} - R^{21} \Omega^{10} \qquad \qquad (*)$,
being $\frac{^1 d}{dt}$ the time derivative of the quantities as seen by the moving observer $1$, i.e. without taking the derivative of the vectors of the basis of the reference frame moving with the observer $1$; this latter contribution goes into the last two terms. Thus,
$\dot{v}_2(t) = \left[ \left( \dfrac{^1d R^{21}}{dt} + \Omega^{10} R^{21} - R^{21} \Omega^{10}\right)R^{12} + R^{21} \Omega^{10} R^{12} \right] v_2 = \\
\qquad =  \left[ \dfrac{^1d R^{21}}{dt} R^{12} + \Omega^{10} \right] v_2$.
Introducing the definition of the relative angular velocity anti-symmetric tensor of $2$ w.r.t. $1$,
$\Omega^{21} := \dfrac{^1d R^{21}}{dt} R^{12} = \left( \dot{R}^{21} - \Omega^{10} R^{21} + R^{21} \Omega^{10} \right) R^{12} = \dot{R}^{21} R^{12} - \Omega^{10} + R^{21} \Omega^{10} R^{12}$,
we get
$\dot{v}_2(t) = \left( \Omega^{21} + \Omega^{10} \right) v_2 = \Omega^{20} v_2$,
and thus $\Omega^{20} = \Omega^{21} + \Omega^{10}$, and eventually $\omega^{20} = \omega^{21} + \omega^{10}$.
For details (derivation of $(*)$) and an example, try to have a look at these notes, https://basics.altervista.org/test/Physics/Me/rotations/kinematics_successive_rotations.html .
A: You have the general rule of
$$\dot{{\rm R}}\,{\rm R}^{\intercal}=\boldsymbol{\omega}\times$$
which depending on how each ${\rm R}$ is defined results in either a rotation vector in the inertial frame or in the body frame.
That is the difference here between your $\omega_{21}$ and the book's $\omega_{21}$
It has to be that your $\omega_{21}$ is defined with the basis vectors of $F_2$, and the more common definition is to have everything in the same basis-vectors as the inertial frame.
That is unless there is some other mistake in the calculation. I did not follow through all of it because the notation is confusing me. I have proved the rotational kinematics myself many times, but using notation that I understand and I can interpret easily.

Consider a sequence of rotating frames, each i-th frame with ${\rm R}_i$ the 3×3 orientation matrix that transforms the local basis-vectors into the inertial basis-vectors.
Designate as $\mathbf{z}_i^{i-1}$ as the direction of rotation if the i-th frame in the i-1-th frame, and $\theta_i$ the angle of rotation. This describes the orientation of the i-th frame recursively from the orientation of the previous frame
$$ {\rm R}_{i}={\rm R}_{i-1}{\rm rot}(\boldsymbol{z}_{i}^{i-1},\,\theta_{i}) \tag{1}$$
where ${\rm rot}({\rm axis},\,{\rm angle})$ is an elementary rotation about a single axis, by an angle (use the Rodrigue's formula).
Note that the axis of rotation in the inertial basis-vectors is
$$ \boldsymbol{z}_{i}={\rm R}_{i-1}\boldsymbol{z}_{i}^{i-1} \tag{2} $$
If I re-arrange the rotational velocity expression ${\rm \dot{R}}\,{\rm R}^\intercal = \boldsymbol{\omega}_i \times$ in terms of the derivative I get the following expressions for the time-rate of rotations
$$\begin{aligned}\dot{{\rm R}}_{i-1} & =\boldsymbol{\omega}_{i-1}\times{\rm R}_{i-1}\\
\dot{{\rm R}}_{i} & =\boldsymbol{\omega}_{i}\times{\rm R}_{i}\\
\tfrac{{\rm d}}{{\rm d}t}{\rm rot}(\boldsymbol{z}_{i}^{i-1},\,\dot{\theta}_{i}) & =\left(\boldsymbol{z}_{i}^{i-1}\dot{\theta}_{i}\right)\times{\rm rot}(\boldsymbol{z}_{i}^{i-1},\,\theta_{i})
\end{aligned} \tag{3}$$
Now take the time derivative of (1) and apply the product rule.
$$\small \begin{aligned}{\rm \dot{R}}_{i} & ={\rm \dot{R}}_{i-1}{\rm rot}(\boldsymbol{z}_{i}^{i-1},\,\theta_{i})+{\rm R}_{i-1}\tfrac{{\rm d}}{{\rm d}t}{\rm rot}(\boldsymbol{z}_{i}^{i-1},\,\theta_{i})\\
\boldsymbol{\omega}_{i}\times{\rm R}_{i} & =\boldsymbol{\omega}_{i-1}\times{\rm R}_{i-1}{\rm rot}(\boldsymbol{z}_{i}^{i-1},\,\theta_{i})+{\rm R}_{i-1}\left(\left(\boldsymbol{z}_{i}^{i-1}\theta_{i}\right)\times{\rm rot}(\boldsymbol{z}_{i}^{i-1},\,\theta_{i})\right)\\
\boldsymbol{\omega}_{i}\times{\rm R}_{i} & =\boldsymbol{\omega}_{i-1}\times{\rm R}_{i}+\left({\rm R}_{i-1}\boldsymbol{z}_{i}^{i-1}\dot{\theta}_{i}\right)\times\left({\rm R}_{i-1}{\rm rot}(\boldsymbol{z}_{i}^{i-1},\,\theta_{i})\right)\\
\boldsymbol{\omega}_{i}\times{\rm R}_{i} & =\boldsymbol{\omega}_{i-1}\times{\rm R}_{i}+\left({\rm R}_{i-1}\boldsymbol{z}_{i}^{i-1}\dot{\theta}_{i}\right)\times{\rm R}_{i}\\
\end{aligned} \tag{4}$$
Follow with with collecting terms, and factoring out the ${\rm R}_i$ term to get
$$ \begin{aligned}
\boldsymbol{\omega}_{i} & =\boldsymbol{\omega}_{i-1}+{\rm R}_{i-1}\boldsymbol{z}_{i}^{i-1}\dot{\theta}_{i}\\
\boldsymbol{\omega}_{i} & =\boldsymbol{\omega}_{i-1}+\boldsymbol{z}_{i}\dot{\theta}_{i} \end{aligned} \tag{5} $$
which is interpreted as the relative rotation velocity between body i and its predecessor is $\boldsymbol{z}_{i}^{i-1}\dot{\theta}_{i}$ in the local basis-vectors of frame i-1, and $\boldsymbol{z}_{i}\dot{\theta}_{i}$ in the inertial basis-vectors.
