The documentation says:
Note that the engine won't allow to revoke the last valid user ID. To
change a user ID is better to first add the new user ID, then revoke
the old one, and finally publish the key.
And indeed, it does not allow me to revoke the last UID, *but* it fails
silently. I think it should return an error in this case.
(Interestingly, the underlying mechanism, gpg --quick-revoke-uid, *does* allow
me to revoke the last uid. See T2960).