tx and rx model supporting all data rates
In general terms, it is usually advantageous to down-sample to the lowest sampling rate wherever possible- all things being equal it would be better to reduce to a lower sampling rate earlier in the receiver processing - for purposes of reducing resources required, power dissipation, etc.
The OP is using both a CIC and timing recovery block where the opportunity to change the symbol rate can be done in either location (for example to 4 samples per symbol in any case). Here the preferred approach would likely be in the CIC, to the extent that all subsequent blocks can run more efficiently, with the same performance metrics, at the lower sampling rate. If any such block would require or be improved with a higher sampling rate, then resampling further downstream would be preferred. This would be clear in the detailed implementation and specific to that. Also note that a CIC introduces a passband droop that may need to be compensated for. This can be easily implemented with a 3 tap FIR filter as I have demonstrated at this post.
how to make CIC compensation filter