Right, I see the issue. So, it is possible to do what you want, but it’ll be kind of hack-y.
Basically, you can create a text panel with some custom JS, which would pick up changes in template variable values, and set the time range appropriately. The latter can be achieved similar to what’s described here: JS within panel to set dashboard refresh interval - #5 by svetb. That thread is about the refresh interval, but the time range is accessible in a similar way (check out the other methods bound to timeSrv).
IIRC, the JS should get reloaded/triggered upon any changes in template variable values - but if that’s not the case, you might have to explicitly bind to that event.
Not sure what your appetite is for implementing something like that, but I feel that it’s probably the best option you have.