Ты немного не понял.
смотри.
в хтмл есть подключение ксс, в самом конце.
все это дело отдается разом, точнее отдается страница, браузер ее читает, и рендерит по мере прочтения
DOM строится не разом весь, а по мере рендеринга хтмл браузером.
что получается:
див, див, картинка (браузер прочел и вывел)
опа, линк на css файл. (браузер поперся его качать, или искать в своем кэше [т.е. даже кеширование файла css не позволит загрузить его в DOM раньше чем ращметку которая идет выше линка на css файл])
и так, css скачался/нашелся, обработался, все это заняло некие микросикунды, в течении которых, те самые дивы болтаются на экране без стиля, т.к. браузер еше только читал ксс.
в этом и проблема