However, the CAPV/CAPI controller logs explicitly state: "Reconciliation is paused for this object"
2.5.x
The Cluster API controllers may interpret the mere presence of the cluster.x-k8s.io/paused annotation key as a pause signal, regardless of its value (e.g., empty string or "false"), or the annotation exists on a dependent object (like MachineHealthCheck) that acts as a blocker for the parent MachineDeployment.
If the annotation key exists in the metadata even if the value is not explicitly "true" the reconciliation loop can remain suspended. The status field showing paused: false may not reflect the actual metadata annotation state blocking the controller.
You must remove the annotation key entirely from all relevant objects in the hierarchy: Cluster, KubeadmControlPlane, MachineDeployment and MachineHealthCheck.
kubectl annotate cluster <Workload_Cluster_Name> -n <namespace> cluster.x-k8s.io/paused-