Hello,
A M2M is a combination of 3 collections, make sure the user has create access to all 3 of them. It should work, if still doesn’t then probably the issue is related to caching, to solve that you will have to restart the Directus.
Even when granting full read access to the junction table event_event_category and the related model table event_category, the user still doesn’t see an ‘Add Existing’ button: