Я не уверен, полезно ли это или нет, но, поскольку вы управляете оглавлением, а не строите его как одно поле, у вас есть возможность настроить его как таблицу с тремя столбцами название, точки, номер страницы)?
Хотя это даст вам пробел между заголовком и началом точек, по крайней мере это будет означать, что отступ будет иметь одинаковую длину.
В этом сценарии вы могли бы альтернативно генерировать точки в виде шаблонной линии внутри ячейки таблицы, а не с повторяющимися символами.