Semplicemente a me quella soluzione artigianale non funzionava, al punto che ho esaminato in modo dinamico il significato del comando \theindex, quello che apre l’ambiente dentro il quale viene composto l’indice analitico; ho esaminato anche il significato dei tre malrk \topmark, \firtmark e \botmark per vedere che cosa succedeva dando e non dando il comando \markboth in varie posizioni, prima, o dopo il comando \printindex.
La conclusione a cui sono arrivato non è certo l’uovo di Colombo; con la classe book invece del comando \setcounter{secnumdepth}{-1} (o meglio, oltre a quel comando) se ne danno degli altri; ma quel comando, che funziona anche con la classe report, è quello che risolve la situazione inseme al fatto che imakeidx usa il comando di sezionamento senza l’asterisco grazie all’impostazione level=\chapter; e quindi tutto funziona come dovrebbe.