sorry I could not help more, but if the links below do not help either,, then either leave it or wait for another troubleshooter to join in...
1. a guide here , for non-amazon books
https://www.epubor.com/whispersync-for-kindle.html#p2
2. a better article here , which says the solution is to do with how accurately calibre finds , downloads, adds metadata. your non-amazon books need this ( & maybe the online route supplies it ? )
http://teleread.com/glitches-in-amaz...cue/index.html
"A Reddit thread finally gave me the answer: Amazon doesn’t care if you bought their book. But they do care if you have their metadata. Your file needs to be encoded with Amazon’s book ID in order for the sync to work properly."