Um mapeamento dos tipos JSR 310 para os tipos SQL é fornecido na documentação Tabela 5.1 .
Inspecionando o driver JDBC do PostgreSQL PgPreparedStatement.setObject() podemos ver que cada tipo Java é usado para definir um timestamp, por exemplo:
case Types.TIMESTAMP_WITH_TIMEZONE:
if (in instanceof java.time.OffsetDateTime) {
setTimestamp(parameterIndex, (java.time.OffsetDateTime) in);
Internamente, isso está chamando TimestampUtils.toString() que está convertendo uma data e hora em uma string.