I can test how z-index affects the reading order – Can you post the CSS and I’ll add it as a test. It may not impact it since it’s an initially hidden element and may only affect the visibility to a sighted user. If this is true, it’s a workable solution.
What’s crazy is that I can’t remember how I even got initial TOC to show on top of the page elements. When I tried recreating from scratch, both behaved the same way, displaying behind the elements on the page.