The issue is that the first IN in sigma_delta_1_5_bespoke_abi may be delayed; by which point the two output ports have ran dry and when restarting them one outputs 16 bits well before the other, putting them out of sync.
In an ideal world, the alignment is always the same, and the ports are always kept full.
Ie, start with stop_clock, then fill both ports, then start_clock, then never under-run.