Il codice dell'opzione 2 funziona correttamente.
cioè.
OracleConnection oracleConnection = connection.unwrap( OracleConnection.class );
Il problema era che avevamo 2 versioni di ojbc.jar:una come modulo Jboss e una all'interno dell'EAR, quindi ClassCastException.
Come accennato nei commenti, funziona anche questo codice
oracle.jdbc.driver.OracleConnection oc = (oracle.jdbc.driver.OracleConnection) connection.getMetaData().getConnection();