I’ve just finished writing a 294 page book and have spent a week hassling with running an Index. It should be simple, however the indexed words did not match the pages they were on – and worse some did and some didnt.
The trap? when you mark for index items Word automatically puts you into display codes. if you leave display codes on when inserting or updating the index those hidden fields take up space when Word works out what appears where and so throws your page references out. The simple answer to turn off display codes and THEN run the index.