This is still valid schema. But you have to use the DQL endpoint and syntax to update the email field at this time. You can have both an @id field and an ID field. In fact you can have multiple fields with @id but they all work as unique “indexes” not compound.
Right now in GraphQL upserts are for insert or update logic, but not update the @id field.