Olá! Tudo bem?
Isso acontece porque no seu arquivo "index.html" na tag </script>
tem a propriedade defer
que faz com que o código JavaScript seja carregado apenas após toda a página HTML ser renderizada no navegador, por isso a imagem aparece antes de você acertar.
Para resolver essa situação você precisa apenas apagar essa propriedade:
Antes:
<script src="app.js" defer></script>
Depois:
<script src="app.js"></script>
Espero ter ajudado e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.