Примитивный пример: Есть скрипт с алертом, подключенный вот так <script src="js.js" defer></script> с defer. При обновлении сперва появляется алерт и только потом контент страницы. Почему так ведь defer подразумевает сперва загружать содержимое страницы и только потом скрипт?