Is there a technological way to make an ID that's anonymous and irrevocable (since arguably people should never lose citizenship)? Because digital, national ID has major benefits (prevents fraud, reduces paperwork), but yeah, those are IMO larger drawbacks.
Not necessarily, by "ID" I mean certificate that proves you're a citizen, adult, and owner of [specific thing] (to a service that manages [specific thing], without letting them deduce anything else you own). That can be done without identifying you e.g. via ZKP.
Although the ID should also be irrevocable, yet could easily be stolen...
Perhaps the solution is to give local municipals (e.g. neighborhoods) the power to generate, revoke, and authenticate IDs. The textbook surveillance state seems to always be a large organization; neighborhoods can be problematic, but I suspect it happens less often, because they're much easier to influence (and overthrow the "leaders" of) than big governments. So e.g. if a national bank wants to know if a user's provided credentials (name, address, etc.) are accurate, it asks their city such a user is one of their residents; the city knows what services the resident uses and can (if malicious) block them, but the government can only track the services of all residents in a city, and must block entire cities (which, if they band together, require smaller numbers to challenge the government; in a large country like the US, there would be extra layers such as states, so that no layer significantly overpowers a group of several of the layer below).