T-Aoki, you are one of those I call "knowledgeable people", but kind and open-minded. That being said, it's not always easy to follow you in the details. It appears to me that you added more complexity where I saw some relative simplicity (ok, my solution doesn't work on non-GPT disks).
For what I understand, you propose a means to avoid any starting problem at the base. It's a longer way than just an automatic update.
zpool upgrade has been improved in the way that when you upgrade a pool, it checks if
bootfs property is defined, and if yes, it warns about the loader specific problem. Better than nothing.
Just let me explain how loaders-update works:
First, its goal isn't to add a loader where previously there wasn't. It updates, never creates (there is an exception for BIOS update in certain circumstances).
The consequence is that you can have an efi loader of whatever name, it finds it. It checks: is this file has an .efi extention? Then, is
file reporting this is a PE32+ executable? Is the string "FreeBSD" inside this file? If all the answers are yes, it compares this file with
/boot/loader.efi. If there are not the same, it proposes to update it. Consequence of the consequence, it updates all matching files in the ESP partition, even those that are not used to start the machine.
When it finds a freebsd-boot partition, it checks if there is trace of a BTX loader inside. If yes, it try to guess if it is filled by gptboot or gptzfsboot (looking for strings "zfs" and "ZFS"). Once the fs is guessed, it compares with the root file system and only if this is coherent (same fs), it checks if its first boot sector code and the content of the freebsd-boot partition are the same than those in
/boot (pmbr and gptboot or gptzfsboot). It proposes the update only for the files that don't match.
Alan Jude reportdly said about loaders-update it's "a bit shot-gun-y". And this is exact. It explores all disks, all the partitions (or almost) and proposes to update each target that falls in the previously evoked conditions. This is to match the case of mirror disks and also because it cannot find in all cases what is the starting disk. But, even in shoot-me mode (unless you used the -y option, beware of that*), you are free to answer yes or no. The admin remains the one that decides. It's why my solution is as simple as safe.
(*) It's perfectly usable when you know for sure that loaders-update found the right targets on your system.