I also ran into this. Your assessment seems correct.
As a temporary stop gap, you can configure the following in network/interfaces:
iface bond0 inet dhcp pre-up modprobe bonding pre-up ifconfig bond0 down || exit 0 pre-up ifenslave -d bond0 eth0 || exit 0 pre-up ifenslave -d bond0 eth1 || exit 0 pre-up ifconfig bond0 up pre-up ifenslave bond0 eth0 eth1 post-down ifconfig bond0 down
This is basically just doing the work that enslave's ifup/down plugins should do, on your own.
I also ran into this. Your assessment seems correct.
As a temporary stop gap, you can configure the following in network/interfaces:
iface bond0 inet dhcp
pre-up modprobe bonding
pre-up ifconfig bond0 down || exit 0
pre-up ifenslave -d bond0 eth0 || exit 0
pre-up ifenslave -d bond0 eth1 || exit 0
pre-up ifconfig bond0 up
pre-up ifenslave bond0 eth0 eth1
post-down ifconfig bond0 down
This is basically just doing the work that enslave's ifup/down plugins should do, on your own.