Cathal I humbly thank you but 1st I am not sure why you using 2.5 old revision here .
2nd had you tried the 2.7 boot.py and the differences between the flag is set or not?
I already generate both w and wo the FPGA_MANAGER_${BOARD} flag case.
And the result already discussed on above.
There are so many case that the initial boot bit needed in example HDMI or RTOS applications.
Meantime how slow the after boot load time it is? (if you had experience on 2.7 boot.py overlay)
What I see from the boot.py service to be activate and complete is that it will wait until pl and jutyer service is initialized.
So even the console is ready to be accept user commands it does not mean the boot.py is done it is just not the case. (Correct me if I am doing it wrongly)
At least from the console I can check the service is complete of the bootpy.sh and system/boot…
So in that case the response time is even slower than you think.