Falta permiso en Firestore
Ve a Firebase Console → Firestore → Reglas y agrega:
match /metadata/{document=**} {
allow read: if request.auth != null;
allow write: if request.auth != null &&
get(/databases/$(database)/documents/users/$(request.auth.uid)).data.role == 'admin';
}
// En el bloque match /users/{userId}:
allow update: if
(request.auth.uid == userId && !touchesAdminFields()) ||
get(/databases/$(database)/documents/users/$(request.auth.uid)).data.role == 'admin';
Guarda y vuelve a intentarlo.