, our development team has completed the work on your issue and has come to a conclusion that this issue and the undesired behaviour you're observing is actually not a bug. So, we have closed this issue as 'Not a Bug'.
To resolve this problem, you need to call doc.UpdatePageLayout() method before saving to PDF. This is needed because UpdateFields method was called inside CreateTOC method before cover page was added. Alternatively, you need to re-order calls so that InsertTOC is called last. I hope, this helps.