The ZFS transaction sync operation will passively wait for a txg commit, instead of actively requesting txg commit start before waiting. This causes each synchronous operation to wait up to 5s for the normal txg flush.
Until such a time that we have implemented Lustre ZIL support, it makes sense that transaction handles that are marked as synchronous start a txg commit instead of passively waiting. This might impact aggregate performance, but DNE operations will be relatively rare, and should not impact normal operations noticeably.
As an optimization, there could be a "batch wait and reschedule" for txg sync, as there is for jbd, so that it allows multiple active threads to join the same txg before it is closed for commit.