The changes to regions.py solved the problem. Thank you so much for sharing this.
Now the Bootloader’s binary inflates to the restrict_size and the main application respects the size and builds correctly.
It would be great if this could get fixed in mbed-os and match with the documentation.