How to update Arrays of Edges of the Parent Node?

Since you are both removing and adding to the same predicate, you have to use two mutation blocks, which can be done in a single operation.

mutation Update( $id: [ID!], $roleId: ID!, $addOrgs: [OrganisationRef!], $removeOrgs: [OrganisationRef!] ) {
  first: updateUser( input: { 
    filter: { id: $id },
    remove: { tenantOf: $removeOrgs },
    set: {
      role: {
        id: $roleId
      }
    }
  }) { numUids }
  second: updateUser( input: { 
    filter: { id: $id },
    set: {
      tenantOf: $orgs
    } 
  }) { numUids }
}