Hi,
Thanks for your post. I do understand your idea, but I'm not a big fun of manual adjustments even if there is a perfect check list 🙂
So I did it another way:
First I had 2 issues with the TOC being placed in a narrow column:
1/ problem when the header was too close to the page number
2/ problem with balancing the column lenght - I was playing with breaking header lines to have this being equal
this ilustrates the picture:

As you see in this case there is almost no space between text and page number. Left indent (set for par style) doesn't work for a single line. So at first I "pushed away" page number from textt by adding tab sign between entry and a number, with an effect as below:

Now I have used the GREP to force break in a certain way by using noBreak 🙂

I have used this idea with a couple of cases, when I have the similar issue, or I have to break line to have a balanced column effect.
As you see there are a couple of very specific GREPs, dedicated in fact to one header instance only. But overall I had to create only 5-6 such GREPs to have the nice TOC of around 200 entries.
So in my opinion it was worth to do this job and forget of manual adjustments 🙂