Your observation is correct and it's the expected behaviour. The RecordListener SPI is intended to intercept only calls on the TableRecord / UpdatableRecord APIs' store(), insert(), update(), delete(), refresh() calls. It cannot intercept arbitrary SQL statements the way SQL triggers can. An example: If you run a bulk UPDATE statement, jOOQ will not be able to intercept individual row updates as this knowledge is available only to the database. Even worse: jOOQ has no idea what will happen behind the scenes of a SQL MERGE statement.
Perhaps, we can find a missing feature or a more subtle flaw though. Would you mind explaining your use-case a little more, so we can see what would be the best way for you to go forward?
Looking forward to hearing from you again,