This answer is a little late, but I found this and had a very similar problem, and while the above answers helped. I think I can add something to the conversion.
I ended up with a similar solution initially to the one provided by Andrew to generate the normal contents page, but I wanted more, so I ALSO made the following change. to $:/core/ui/ViewTemplate/body
<$list filter="[all[current]!tag[Hide Contents]]">
<div class="tc-table-of-contents">
<<toc-selective-expandable '' sort[created]sort[content-index]>>
</div>
</$list>
I then added the Tag "Hide Contents" to any tiddler I did NOT want to have a drop down indicating its "children". For the main Contents, I needed to specify the name otherwise it did not work when it was in the sidebar.
The content-index field is my own one that I added to allow me to force the sorting, but I found defaulting to sorting by created date worked most for me.