In cases where HA and regional survival is key we recommend running ZITADEL and the database across 3 (or multiple) Regions.
Generally speaking deploying ZITADEL to multi region cases is easy when working with cockroachDB. That comes down to the fact that ZITADEL store everything in the database and hence is stateless in nature.
So, if you setup a cockroach cluster across 3 regions you should be fine to go. You just need to tell cockroach the survival goal, https://www.cockroachlabs.com/docs/v22.2/multiregion-overview#survival-goals. The part to lookout is, that in case of a region failure you need to remove that region from a (global) loadbalancer. CockroachDB will already take care of the replication and split brain problems.
Our cloud service for example relies on cockroachDB dedicated (managed offering) with google cloud run to run ZITADEL as serverless container across regions.
On premise customers most of the times use k8s. If you run multiple k8s cluster or one across regions comes down on you appetite on making the network happen