Flash Memory Size

yeah, the 4 MB gets split into multiple partitions, and you end up with like 200Kb of space.
image

spiffs is the part that defines the actual storage area we have access to

0x30000 is 196,608 byte, or 192KB

The 8MB also gets split similarly, and you end up with a little over 1MB

This is because you need a section of Flash for the actual program, and then an equivalent section to support OTA updates saving the firmware copy locally before replacing (or however that happens…).