There is a bug that the 0x10000
alignment for the app
partition is not respected when using PlatformIO (Partition table parsing wrong · Issue #627 · platformio/platform-espressif32 · GitHub).
Change the partition table to
# Name, Type, SubType, Offset, Size, Flags
# Note: if you have increased the bootloader size, make sure to update the offsets to avoid overlap
nvs, data, nvs, , 0x6000,
phy_init, data, phy, , 0x1000,
factory, app, factory, 0x10000, 2M,
spiffs, data, spiffs, , 1M,
and retry.