I don't know if gpart restore
only writes a primary partition table to the disk, but it could be an explanation.
Since FreeBSD 10.3, when i started to learn and experiment with bootcode and UEFI, I worked a lot with dd
to copy and write partition information and bootcode
from one disk to another. That worked, but gpart would often throw errors, complaining about GPT missmatches or something like that.
I really can't remember if this affectet the abililty to boot, but even if the output from gpart show
looked allright on the 'cloned' disk,
it was neccessary to make the secondary partition table match the primary, by running gpart recover ...
before everything worked ok.
I guess what you experience must be of that sort also. Be it the primary and secondary GPT table noch matching 100% or a slight mismatch in the Master Bot Record after gpart restore
That could explain why you now made it work by adding -a 4k.
What I noticed changed between FreeBSD 10.3 and 11.1 is when I installed FreeBSD 11.1 to a root-on-ZFS and another to a SDD, both where 4k aligned, where on 10.3 that still had to be done manually.