Allora, il problema credo sia appunto dovuto al tempo di caricamento dell'immagine.
Tuttavia sconsiglierei vivamente l'utilizzo di div nascosti con all'interno le immagini per il preload: è una sporcatura inutile di markup e di contenuto (uno screen-reader potrebbe comunque leggere le immagini a fondo pagina ma un utente non sarebbe in grado di capire a cosa si riferiscono).
Direi, pertanto, di lasciare le cose come stanno. Tutt'al più ottimizzerei meglio le immagini stesse utilizzate per il rollover.
![]()