I don't know much about Terraform, but at least in Pulumi you can mark resources as protected to prevent accidentally deleting them.
(It is possible to create a custom RBAC role that excludes zone deletion only, but this is very fiddly and not-quite-the-same in complex ways.)