Unable to assign field value in before insert hook

I don’t know why, but I am unable to assign a value to a field. Heres the code:

export function jobApplication04_beforeInsert(item, context) { // linkSubmissions
let user = wixUsers.currentUser;
let userEmail;
user.getEmail()
.then( (email) => {
userEmail = email;
console.log(userEmail)
item.email = userEmail
return item;
}

The email field is supposed to be assigned the current users login email. Funnily enough, something similar actually worked out for a different collection:

export function paymentForm01_beforeInsert(item, context) {
let num = Math.random().toString(36).substr(2, 9);
let n = num.toString();
item._id = “reg-” + n;
return item;
}

In this case I am re-assigning the ID field with a custom Registration ID. The permissions for both collections have been set to ‘site members’, NOT admin only, so that’s off the table. Also, I’m not using any datasets. I simply added a form from the Wix presets, and I can’t see any dataset (In other answers, changing the dataset setting to ‘Read and Write’ works).

Any idea why assigning a value to a field works in one collection but not in the other?
Thanks