Don't allow underscore prefixed fields when using CDT APIs (28237)

We used _id, but not _deleted, so the situation was confused to say the least. This PR raises an error when a field with an underscore is used to clarify the situation.