PrivateMembersData not returning items on query by loginEmail

If I open my Members/PrivateMembersData collection in the Editor, I can see an item with test@test.nl in the loginEmail column.
However, my query on loginEmail returns 0 on a count() and no items on a find()

 var email = "test@test.nl"
 var queryResult = await wixData.query("Members/PrivateMembersData")
                    .eq('loginEmail', email)
                    .find();
                    
 var count = await wixData.query("Members/PrivateMembersData")
                    .eq('loginEmail', email)
                    .count();

Sometimes I do get items returned, but many newly added members seem to be visible through the editor, but not through querying.
There does not seem to be a sync mechanism for the collection.
I am running the query on the live website.

What could I be missing here? Do I still need to sync something?

Very very basic question: u use this code on front-end? If yes, it won’t work, because permissions issue. You can’t change the permission required to view the content (always ADMIN ONLY)

I have moved the function to backend/application.jsw with the same results.
But the code is being called from the front-end, so I suppose it will always run under the credentials of the currentUser. (non-admin)

I would have expected a permissions error, instead of an empty result in the success-callback, but I suppose a permissions issue sound like the reason.

Does this mean I’ll have to try and just call register() and wait for the error, just to check whether a user already exists? Seems like an expensive way.