Start Offset Workaround
I've been driven nuts for days on this exact problem! My start anchor worked fine in Previewer, but on the actual Kindle device my book opened in the middle of the table of contents. Unusable!
I did some tests and found the .mobi file created by KindleGen within Previewer generated an incorrect start offset placing the start too early compared to the start anchor. I think I have narrowed it down.
It's either a Kindlegen bug or undocumented assumption depending on how generous you're feeling. Kindlegen seems to assume that the table of contents is an external html file NOT part of the main book html file. So it works out its offset startpoint unaware that the TOC is in the way at the top part of the book html. Thus where ever you add a start anchor point the actual start position is offset too high by the height (or number of lines?) of your integrated toc.
Solution = Remove your toc to a seperate html file. So you have
You will need to change your .opf file to reflect this. You can also split your chapters into seperate html files to make it easier to edit.
NOTE : You load the .opf file into Previewer NOT the book.html (that caught me out for a long time too and stops the ncx view and toc working properly even if your code is correct).
Really hope this helps! After days of frustration I have managed to create a perfect eBook with working toc+opf+ncx+cover that works correctly in Previewer AND on a recently purchased Kindle Device.
If I can help any further I will! Cheers