Hold up one freaking second.
The board definition file still has
which is gonna affect regular uploading because it uploads the bin file plus the offset info.
Debugging takes the ELF file and thus the start address from its section info, which is correct at 0x0.
Of course of works in debug mode and not with a regular upload.
Add
board_upload.offset_address = 0x0
to the platformio.ini and retry a normal upload.