wixData.Insert is creating undefined fields.

This is correct. Collection Field Keys are always lowercase, and Field Keys are what is used in a query ( not the Field Name). What happens is that if an insert is performed using a Field Key that does not exist in the collection, a new field is created with the “new” field key in square brackets. Exactly what happened to the O.P.