O código da opção 2 funciona corretamente.
ou seja.
OracleConnection oracleConnection = connection.unwrap( OracleConnection.class );
O problema era que tínhamos 2 versões do ojbc.jar - uma como módulo Jboss e outra dentro do EAR, daí a ClassCastException.
Como mencionado nos comentários, este código também funciona
oracle.jdbc.driver.OracleConnection oc = (oracle.jdbc.driver.OracleConnection) connection.getMetaData().getConnection();