I am a little confused here. Of the 1MB available, atleast 500KB should be free for OTA (Arduino/HTTP) to work... right ?
Now, I am making a UI application and I want to keep the palette information for various BMPs in the PROGMEM as a performance optimization. So, the 1MB limitation further limits my options.
If I use SPIFFS, compared to PROGMEM APIs, will the latency to read byte by byte from a file be the same ? If yes, then I don't mind having the 1MB limit.
Anyhow, as others mentioned, it would be quite good to have control over the code section. But if it is not possible to split the code into multiple 1MB segments, there is no point in discussing further ?