Good reasonning 🙂 But your base assumption is shaky !
With HR and FR (legacy codecs), a MS is not able to “change rate” during the call. If it starts as HR, it’ll stay HR.
The only possibility will be a HO towards another cell. In this case, the TCH allocated for the MS might be with a different channel rate.
But there are no intracell HO to modify the channel rate in case of legacy codecs.