Jag hittade en lösning på problemet. Genom att ange en mask för datumet ger den rätt resultat. Använder:
to_char(to_date('01-JAN-2015','DD-MON-YYYY') ,'J')
istället för
to_char(to_date('01-JAN-2015') ,'J')
Ger samma resultat genom OpenQuery och direkt från Oracle.