I now have a list of sections along with their titles and page-references from JJ, for the purpose of constructing a modern TOC. It turns out that these sections, since they're going to have to display in multiple pages rather than page-by-page, and since they begin and end in the middles of pages (in other words, they don't correspond with existing <div> elements), can't be handled in the way I had previously anticipated. So I've rethought things, and I think this is what we'll do:
I already have code to display a single page. I need to modify that (wrap it, basically_ so I can retrieve a page-range as well. The TOC will be constructed as a <list type="abstractTOC"> inside the <profileDesc>/<abstract> in the header. I've already added this @type value to the schema. Each item in the list will consist of a <ref> element pointing at a page-range (probably using pbIndex rather than the sometimes-flaky page numbers of the original text, although we'll probably use the original page-numbers for display).
Waiting for approval from the team for this before I can proceed.