El código de la opción 2 funciona correctamente.
es decir.
OracleConnection oracleConnection = connection.unwrap( OracleConnection.class );
El problema era que teníamos 2 versiones de ojbc.jar:una como módulo Jboss y otra dentro del EAR, por lo tanto, ClassCastException.
Como se menciona en los comentarios, este código también funciona
oracle.jdbc.driver.OracleConnection oc = (oracle.jdbc.driver.OracleConnection) connection.getMetaData().getConnection();