Usually if the firmware is not available the first time, the driver will print a message and exit. Then if the firmware is loaded later, the driver will try to load again, and this time succeed, like in your dmesg. So in practice, the message is the only difference.
Clearly a bug/suboptimal behavior somewhere, most likely in gcc. Though the official build didn't grow at all, the added 100kb or so came from new options.
If you want to, you could go trying different gcc versions, and if it still happens in the latest 5 series or 6 git, report to them and isolate what caused it.