You must use ServerSideApply in order to patch an existing CR.
See the ArgoCD Documentation
A great example is using GitOps to patch the ArgoCD resource itself in order to give OCP groups admin privileges in Argo
argocd-patch-admin-group.yaml
---
apiVersion: argoproj.io/v1alpha1
kind: ArgoCD
metadata:
name: openshift-gitops
namespace: openshift-gitops
annotations:
argocd.argoproj.io/sync-options: ServerSideApply=true
spec:
rbac:
policy: |
g, ocp-users, role:admin
g, system:cluster-admins, role:admin
g, cluster-admins, role:admin