Remember, configTICK_RATE_HZ doesn’t actually force the the tick rate to always be the right speed, but only that it will be the right speed when the system clock is the speed indicated by configSYSTIC_CLOCK_HZ at the point the system initializes the timer that generates the tick.
The key thing to remember is that every “timer” based on the system clock may need to be reprogrammed when you change the system clock rate, so if you plan to change that dynamically, your code needs to handle that.
You might not want to just call vPortSetupTimerInterrupt(), as that might do some things that you don’t need (or want) done again, but you should perform the action from that that set the timer dividers for the new frequency.