Those are all great ideas for addressing backtracking and resting in a tabletop game. I have used many similar approaches in my own tabletop games. But this is not a tabletop game. It's a computer game that runs primarily through systems. We script a large amount of custom content, but scripting every location to react to the player retreating and resting would be like designing and scripting every area 1.5 times.
I like your argument about avoiding tedious rest sessions.
I think it can be improved even further! Just skip the entire cool down thing and just allow auto regenerate after the combat. I mean why waste time doing nothing, right? That is the path of least resistance.
Also a good idea to call the game Baldur's Age. Seems best fit to the model you have in mind.