Why does rate controller use feedforward from rate setpoint?

Hello! I am read the controller source code of multirotor but I couldn’t understand why rate controller uses the feedforward from rate setpoint instead of estimated rate? I think it should use the estimated rate value instead of rate setpoint value. Because this could eliminate the cross term in Euler dynamics equation.
The rate controller PID codes are these:
_att_control = rates_p_scaled.emult(rates_err) +
_rates_int -
rates_d_scaled.emult(rates_filtered - _rates_prev_filtered) / dt +
_rate_ff.emult(_rates_sp);