Solved passing from Outlook
I have Outlook in sync with iCloud for contact and calendar (I would like to have also Notes again, but it is not doable anymore)
1) I created a temporary contact folder in outlook
2) I move a slice of first 200 contacts from Outlook.iCloud.Contacts in Outlook to the newly created temporary Outlook folder (the issue with my watch was that only first 10 contacts was in the watch, so the error should be in the first contacts)
3) I checked the watch and..... the contacts was there! so I assumed that "disturbing" contact was in the slice I removed from Outlook.iCloud.Contacts
4) I moved in 5 slices back from Outlook temporary folder to the Outlook.iCloud.Contacts one and each time I checked the contacts in Watch: always there and always more!
5) at the end of Outlook.iCloud.Contacts restore with all the contact that I moved to the temporary folder i get a look to the results and to the numbers and I fund 2 strange things:
a) all the favorites contacts in the watch was there, but for one of that there was the number but not the name; the same contact everywere else (iCloud/iPhone/Outlook/watch...) is complete, but in the watch favorites it have this strange behaviour
b) after the "backup/restore" of contacts with Outlook I described above, the contact counters are:
Outlook 980
iPhone 975
iCloud 974
The different numbers could be due to the different "allowance" of the different applications, but it is strange that iPhone contains more contacts than the ones in iPhone. the contact more should be in the group of contacts that I have not touched with my exercise. And it is easy to think that do the same exercise with all the contacts will reduce further the number of contacts in iCloud and in my devices
I would like to suggest Apple to implement some contact verification software to mantain cleaned your address book, avoiding to loss some important personal contact (which contact has been removed by the performed contact cleaning?)