I think that the concept "order of how slaves are attached to bond
master" does not mean anything for NetworkManager, hence there is no
~first~ slave.
(of course, whenever you attach slaves to a bond, one of those will be
the first. But that is random in case of autoconnect and nothing that
you can configure or that NM anticipates).
Is it possible to set the mac address when creating the bond? If yes, we
could add a configuration option similar to
NM_SETTING_BRIDGE_MAC_ADDRESS.
We could make NM_SETTING_BOND_MAC_ADDRESS be a hex string, or
alternatively, an interface name -- so we would look at the interfaces
and take it's MAC address.