Can you reproduce this in a standalone Java SE application with just pgjdbc-ng and without any connection pool?
I've actually figured it out.
It starts to work if you explicitly set AutoCommit to false on the connection as soon as you request it from datasource.
autoCommit=true shouldn't exist anyway
Why do you have to set auto commit to false in WildFly? Shouldn't this be the default?