Kod opcji 2 działa poprawnie.
tj.
OracleConnection oracleConnection = connection.unwrap( OracleConnection.class );
Problem polegał na tym, że mieliśmy 2 wersje ojbc.jar - jedną jako moduł Jboss, a drugą w EAR, stąd wyjątek ClassCastException.
Jak wspomniano w komentarzach, ten kod również działa
oracle.jdbc.driver.OracleConnection oc = (oracle.jdbc.driver.OracleConnection) connection.getMetaData().getConnection();