Encontrei uma solução para o problema. Ao especificar uma máscara para a data, ela fornecerá os resultados adequados. Usando:
to_char(to_date('01-JAN-2015','DD-MON-YYYY') ,'J')
ao invés de
to_char(to_date('01-JAN-2015') ,'J')
Dá o mesmo resultado através do OpenQuery e diretamente do Oracle.