Have you tried removing placement: top
from your figure
? In principle, all you need is the line
#show figure.where(kind: table): set block(breakable: true)
and removing placement: top
(or explicitly setting placement: none
in your case). The rest (the set rules on table.cell
and so on) can be removed.