When a new bond interface is configured with LACP mode it inherits its MAC address from the first active member interface. When more interfaces are added VyOS automatically overrides their MAC address to the same MAC address that was previously set to that bond interface. In other words, at the end both bonding interface and all its members are configured with the same MAC address. This is required for bonding to work.
Unfortunately that automatic MAC address changes are not reflected in the config file in "hw-id". As result, any interface change (e.g. description) and commit could lead to MAC address change and connection lost. Only the interface that was configured as bond member as first is not affected by this misbehaviour (its MAC address is the same as bond's MAC address).
This could be solved by deletion of "hw-id" from the interface just after it is configured as bond member or simple make "hw-id" and "bond-group" mutually exclusive commands.
The problem is that VyOS automatically adds "hw-id" after router reboot. The only exception to this rule is when local MAC addresses are used ([[ https://github.com/vyos/vyatta-cfg-system/blob/0f19dc57ed6588c083eee8aa9aee09b92b441b08/scripts/system/vyatta_interface_rescan#L125 | persistent check ]]).
I am not sure if we really need "hw-id" to be automatically populated into the config file.