This may save you some time
You have around 20 ready made partitions to chose from just by adding a build flag, the csv files are in: <user>/.platformio/packages/framework-arduinoespressif32/tools/partitions
It's all about leveraging the storage space and if you are going to use ota. OTA needs most of the space as it needs double of what the binary is so it can be downloaded, unpacked, test run and finally replace the starting partition binary.
You probably won't have enough space for ota anyway so may as well expand the app0 or spiffs partitions and ditch the app1 or factory partition , there's an example "no-ota.csv" you can use.
This is what you would add in the platformio.ini:
board_build.partitions = no-ota.csv
Other option is to use one of the csv files as a template, tweak what you need and then include it in the root of the project and reference it the same way in the platformio.ini
The default.csv is I guess for the 4mb but wastes 1.3-1.4 mb on the ota, modify that one and if you mess it up just use "erase flash" in platformio and no one will know 👀
good luck