🙂 great that you are making progres!
The scenario is definitely interesting, but to be honest, not sure how common it is. Quite often we see even Workspace level setting being enough. The reason being that some level of consolidation usually leads to better understanding of what the data actually means.
In a scenario where TZ is applied on individual user level, you may sometimes arrive to situations where “last 7 days” or “last 24 hours” would mean something else for 2 different people. It may of course be desired, but in some cases it could also cause confusion. I can imagine, that flexibly changing the TZs of the reporting based on the movement between TZs could even add to those confusion levels.
However, this is just a general point around the use case, not to be treated as a discouragement shall you absolutely need it.
As for the suggestions, I will probably try to research whether there is a simple way to extract the browser location of your users and programatically utilise this information. Since the APIs are there to set it up, you should be able to change the JSON body programatically and apply different TZs based on your needs.
But like I hinted at before, it is always a good practice to keep the end user experience and data clarity in mind 🙂