Devi citare correttamente la tua query SQL. Se guardi l'evidenziazione della sintassi nella tua domanda (o un IDE), noterai che le virgolette singole non funzionano come ti aspetti.
Cambia le virgolette più esterne in virgolette doppie, se vuoi che siano tutte su una riga, o virgolette triple se le desideri su più righe:
query = """SELECT*
FROM TRANSACTION
WHERE DIA_DAT >=to_date('15.02.28 00:00:00', 'YY.MM.DD HH24:MI:SS')
AND (locations <> 'PUERTO RICO'
OR locations <> 'JAPAN')
AND CITY='LONDON'"""
df_ora = pd.read_sql(query, con=connection)