Sorry for the late response, I was down with Covid.
That makes sense, thanks! I would have to look into user defined functions but as long as they can make use of connection-specific state (the normal CURRENT_TIMESTAMP would have to be used simultaneously on all connections except the one performing the redo) this should work nicely.
I agree that this should be handled in the application layer but I have quite some legacy code that lacks the abstraction layers of the current code base that allows me to handle this there. This trick can help me add transparent log/redo functionality to the older parts of our application.