страница (html-css-js) - находятся в памяти.
Оттуда и загружаются)
НО все упирается в размеры картинок - скорость загрузки из spiffs (для 8266 особенно) - очень маленькая.
К тому же все загружаемые файлы все равно сначала помещаются в оперативку и только после передаются далее.
Поэтому в плане картинок/файлов нужно использовать и сжатие и фрагментированную/потоковую передачу.
К примеру пара картинок по 20кб выведенные на страниц, приводит 8266 к бутлупу. (есп32 при этом еще держится)))
const uint8_t style_css_gz[] PROGMEM = {
const uint8_t script_js_gz[] PROGMEM = {