Собственно, вопрос в заголовке.
Окно не отрисовывается до тех пор, пока скрипт не будет выполнен. Так задумано?
defer откладывает запуск скрипта до момента загрузки основной части страницы - но не влияет на основное свойство скриптов (однопоточность). Можно сказать - да, так и задумано.
Поэтому тяжелые вычисления нужно выносить хотя бы в главный процесс, а лучше в Web Worker или в дополнительный процесс.
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости