Inconsistent results when using contact list columns

I am attempting to use the API to perform CRUD actions on a sheet. Several of the columns have Contact/Multi-Contact datatypes.

I have discerned through practice that when I create or update a row, that the API expects the email of the contact to be provided in the request. Question number 1: Is that actually the case? I have not found documentation confirming this.

My other, larger issue is that I am getting some consistently inconsistent behavior when using specific contacts. For example, Contact A, B, and C all get written to the sheet using their name. Contacts D, E, and F all get written to the sheet using their email. This leads to major issues when retrieving and parsing the column values later.