Most accurate way to obtain angular velocity from a IMU sensor
... which will use angular velocity to move the mouse cursor on a PC screen.

It is not clear if the angular velocity will control the cursor velocity or the cursor position.
If the angular velocity is controlling the cursor velocity, then the cursor position will be affected by drift (due to the integration operation performed). However, this can be solved in software by passing the sensed angular velocity through a threshold operation (dead zone). The threshold is chosen to be more than the expected drift.

The first, multiplying 1 quaternion sample by its conjugate in the next sample


quaternion current * quaternion home and ...

The first statement gives the impression that the IMU output is sampled with small time intervals and you are using the adjacent samples of quaternion. If this is the case, the angle between the two quaternion will be a small angle and the pitch/roll mixing problem doesn't arise (for sufficiently small sampling interval).
The second statement gives the impression that the current quaternion is multiplied with the very first sampled quaternion or a fixed home quaternion and not the immediately preceding sample. The angles between the quaternion can be large and pitch/roll mixing will occur.

... quaternion current * quaternion home and transforming to Euler angles, we get the angular velocity between the 2 quaternion.

No. we get the angle (or rotation) between the two quaternion. If we took the difference between two displacements, the result is also a displacement and not a linear velocity. If the two displacements were measured a very very small time apart and if you divided the difference by the time, then, that quantity is a (instantaneous) linear velocity. If the time gap was large, the quantity is average velocity.
For rotations, when the angle difference is large, we can still compute the average angular velocity by imagining the shortest rotation which will take one quaternion to the other. However, due to the inherent properties of rotation, you cannot avoid mixing between the channels.
Reconstructing the angular velocity from quaternion
Using the quaternion to reconstruct the angular velocity may still be a good idea since the IMU software might have used the accelerometers or magnetometers to cancel the drift in the angular velocity measurement.
From the linked answer, we have, by rearranging,
$$
 \left[\begin{matrix} -q_x(t) &amp; -q_y(t) &amp; -q_z(t) \\ q_w(t) &amp; q_z(t) &amp; -q_y(t) \\ -q_z(t) &amp; q_w(t) &amp; q_x(t) \\ q_y(t) &amp; -q_x(t) &amp; q_w(t) \end{matrix} \right]^{-1}
\frac{2}{\delta t} \left( \left(\begin{matrix}q_w(t+\delta t) \\ q_x(t+\delta t) \\ q_y(t+\delta t) \\ q_z(t+\delta t) \end{matrix}\right)
- \left(\begin{matrix}q_w(t) \\ q_x(t) \\ q_y(t) \\ q_z(t) \end{matrix}\right) \right)
=
\left(\begin{matrix} \omega_x(t) \\ \omega_y(t) \\ \omega_z(t) \end{matrix} \right).
$$
If I am not mistaken (be careful about the quaternion convention. Some use frame representation, some use rotation operator representation), the result will be in the frame of the IMU platform.
You can convert this vector to the home axis frame by using the vector rotation formula.