Most probably the issue is caused by enableSmartTableBreak() mode clashes with CSS page break control code in your document. Try to disable smart table breaks – does it change anything?

FYI: enableSmartTableBreak(true) applies

TR, TABLE { page-break-inside: avoid }

In the mode it implicitly inserts a page break before a table, if it helps to keep the table not broken. It looks like that happens in your case. By default the first page has a bit smaller content area height than the second one, as the first page respects top margin of tag.