Pod fails to become ready after restart

elastic operator v2.16.1 is installed in the cluster. k8s is running in Amazon EKS, k8s version 1.32

The following brings up a four node cluster with no errors:

apiVersion: elasticsearch.k8s.elastic.co/v1
kind: Elasticsearch
metadata:
  name: quickstart
spec:
  version: 9.1.5
  nodeSets:
  - name: default
    count: 4
    config:
      node.store.allow_mmap: false
      xpack.monitoring.collection.enabled: true
    podTemplate:
      spec:
        containers:
        - name: elasticsearch
          resources:
            requests:
              memory: "8Gi"
              cpu: "500m"
            limits:
              memory: "16Gi"
              cpu: "2000m"
    volumeClaimTemplates:
    - metadata:
        name: elasticsearch-data
      spec:
        accessModes:
        - ReadWriteOnce
        resources:
          requests:
            storage: 50Gi
  podDisruptionBudget:
    spec:
      maxUnavailable: 1

All pods come up, cluster is created, all pods enter a ready state.

If a pod is rescheduled on a different node (due to a deletion, upgrade, whatever), the new pod comes up and joins the cluster. Cluster state goes green, indexes are copied, everything seems fine, but the pod never receives a ready state. The localhost TCP port 8080 is never opened, the readiness check never passes.
No errors in the log, but also no INFO level log message from the ReadinessService.

Attached is the eck-diagnostics output. At the time of running, quickstart-es-default-3 was in a non-ready state from a k8s perspective, but the cluster was healthy with four nodes.

quickstart-es-default-0          1/1     Running   0             44m
quickstart-es-default-1          1/1     Running   0             44m
quickstart-es-default-2          1/1     Running   0             44m
quickstart-es-default-3          0/1     Running   0             40m
quickstart-kb-66d4b9b97b-tzrbt   1/1     Running   0             44m
{
  "cluster_name": "quickstart",
  "status": "green",
  "timed_out": false,
  "number_of_nodes": 4,
  "number_of_data_nodes": 4,
  "active_primary_shards": 66,
  "active_shards": 178,
  "relocating_shards": 0,
  "initializing_shards": 0,
  "unassigned_shards": 0,
  "unassigned_primary_shards": 0,
  "delayed_unassigned_shards": 0,
  "number_of_pending_tasks": 0,
  "number_of_in_flight_fetch": 0,
  "task_max_waiting_in_queue_millis": 0,
  "active_shards_percent_as_number": 100
}

Any help debugging would be appreciated.