Current_timestamp returns the time of the beginning of the transaction, which is the time of the end of the previous transaction.
But what happens for connection pooling? The commit may have happened long ago at the end of some previous and unrelated transaction.
(And is connection pooling really necessary in postgresql anyway? It is a nasty hack to overcome slow connection open times which should be very fast if the TLS connection is reused.)