La spiegazione più probabile è che MySQL stia scegliendo un piano di esecuzione diverso quando aggiungi quel predicato.
Puoi confrontare l'output EXPLAIN delle due query, quella con journey_day.day=3
predicato e quello senza.
Immagino che MySQL stia scegliendo un ordine di unione diverso e MySQL stia optando per utilizzare un indice con day
come colonna iniziale quando il predicato è incluso. E probabilmente questo sta causando l'accesso e l'esame di molte più righe, o forse MySQL sta generando un ampio set intermedio prima di filtrare le righe.