you gave a good description and provided a compilable example, so I think this can be solved here.
I guess you just need to call makeindex again and recompile with pdfLaTeX. Your described workflow included just one makeindex call, this is not enough. The reason is, that once you produce the index, another page for this index is generated at the beginning, and all further pages are shifted 1 page. Then you have to call makeindex again in this new situation to get the correct page numbers.
I tested your file.
- Run with pdfLaTeX. No index page, the document text is on page 1 and 2.
- Run makeindex, an index file is produces. No document change yet.
- Run pdfLaTeX, now the index page is produced as page 1, the document text goes to page 2 and 3. Now, the index page numbers are wrong, because they were created in the situation without the index page, still pointing to page 1 and 2.
- Run makeindex again. A new index file is produced, based on the current page numbers.
- Run pdfLaTeX again. The new index is included, the page references are correct to page 2 and 3.
Many users put the index to the end, after the text. In this situation such a problem could not occur.
Stefan