I was just looking through the versions. In 1.0.26 and a few after that, the OnEntityTakeDamage() call did not take into account InterruptTPOnHurt. So, it would have broken teleport if you were damaged in any way even in the versions from the old oxide site. I added the check into 1.0.48 so that you could not have TP interrupted when hurt if you set this value to false.
The temp checks, monument, safe zone, etc. are all checked in CheckPlayer() and they work. Unfortunately, the call to the Oxide global function OnEntityTakeDamage will still interrupt the teleport timer, perhaps on the first tick, if you are hurt. This includes hot and cold.
I'm sure the goal was originally to not allow players to escape being shot at by teleporting away. But, it is not specific and includes ALL damage types. The drawback to adding more code there is that it gets called A LOT. NoDecay has quite a bit of work do there as well, but at least checks only for the decay damage type. This can cause the admin to get warnings about how long the function call is taking.
With any luck this can be done with a mask against the 20+ different damage types.
Merged post
New code added to 1.0.84. This was added to the check during the countdown to see if their major damage is either hot or cold. If it is not either one of those conditions, they could still be interrupted by getting shot, attacked by an animal, etc., if InterruptTPOnHurt is true. The initial check was already working - this is called when they enter /town, /home, etc.