By default, ArgoCD doesn't remove resources if the manifests are deleted, but you can switch this by turning on auto prune[1]. Likewise, you can specify whether a persistent volume should be retained or deleted if the k8s PersistentVolume resource is deleted[2]. Both of those settings would have prevented data loss in this case, but of course that's easy to say in hindsight.