I am going to suggest an undocumented approach which does not use Scribus (at least at the beginning). Be aware that this is a new developing idea from me and not from the Scribus team.
Scribus is quite tricky for new users to fathom out. I am beginning to explore a chain of tools where the beginnings of a document can be drafted first in an external editor - then later mapped to the appropriate Scribus objects such as textframes. In other words
not writing directly into textframes.
The "front end" editor I suggest for such drafting is here ..
https://www.giuspen.com/cherrytree/.
Think of CherryTree "nodes" as pages. So you might start with a node named "ROOT" then add subnodes for each page or chapters with further subnodes.
To create a Table of Contents create under ROOT a subnode TOC then go to Edit > Insert TOC to index all your pages.
Now as you write your draft you can transfer content into your Scribus document.
Your CherryTree document can export PDF of nodes so you could map these PDF's to Scribus. Or you could map raw text into Scribus textframes.
I envisage at some point writing a Scribus Python script to import CherryTree documents. Meanwhile it is a useful drafting editor where TOC can be quickly created.
Be aware that the author is currently migrating the old CherryTree (which is python2 basd) to a new C++ format. But that should be transparent to users.
The basic idea is to team CherryTree with Scribus to help the workflow from draft to finished Scribus document ready for print. I think that you will find CherryTree easier to navigate.