Given the above it seems like the 2 options are: 1) Pad OVMF_CODE.fd to be very large so there is room to grow.
There's already room to grow, *inside* OVMF_CODE.fd. As I've shown elsewhere in this thread, even the 2MB build has approx. 457 KB free in the DXEFV volume, even without link-time optimization and without DEBUG/ASSERT stripping, if you don't enable additional features.