### Apache Airflow version

2.7.1

### What happened

I start a simple pod (one container and that's it) with the KubernetesPodOperator from the cncf.kubernetes provider.

The task in my container fails (exit code non-zero).
The istio sidecar is indeed terminated but the pod itself remain in an `Error` status even if the `on_finish_action` parameter is set at `"delete_pod"` and the pod is never terminated.

It is expected that the pod is fully deleted, istio or not.

I found that there is a difference in treatment [upon deleting the pod](https://github.com/apache/airflow/blob/5b85442fdc19947e125dcb0591bd59a53626a27b/airflow/providers/cncf/kubernetes/operators/pod.py#L824) so it might be some specific case I'm not aware of.

I'll be happy to help either on documentation or fixing this small issue but I would need confirmation on what is the expected behavior.

### What you think should happen instead

I think the `on_finish_action="delete_pod"` should terminate the pod, not let it hanging the `Error` state with both containers stopped.

### How to reproduce

here is the simplest dag on how to reproduce on my end, note that istio is not visible here since managed cluster-wide.

```python3
from airflow import DAG
from airflow.utils.dates import days_ago
from airflow.providers.cncf.kubernetes.operators.kubernetes_pod import (
    KubernetesPodOperator,
)


with DAG(
    dag_id="issue_reproduction",
    schedule_interval=None,
    start_date=days_ago(0),
    is_paused_upon_creation=False,
    max_active_runs=1,
) as dag:
    pod = KubernetesPodOperator(
        task_id="issue_reproduction",
        image="ubuntu",
        cmds=["bash", "-cx"],
        arguments=["exit 1"],
        dag=dag,
        security_context={
            "runAsNonRoot": True,
            "runAsUser": 65534,
            "seccompProfile": {"type": "RuntimeDefault"},
        },
    )
```

### Operating System

local=macos, deployments=k8s

### Versions of Apache Airflow Providers

apache-airflow-providers-cncf-kubernetes==7.5.0
(Didn't see any fix that should change anything between 7.5.0 and 7.6.0 and the code I pointed to has not changed)

### Deployment

Official Apache Airflow Helm Chart

### Deployment details

k8s version: v1.26.3

### Anything else

The issue should be 100% reproductible provided I didn't miss any specifics.

### Are you willing to submit PR?

- [X] Yes I am willing to submit a PR!

### Code of Conduct

- [X] I agree to follow this project's [Code of Conduct](https://github.com/apache/airflow/blob/main/CODE_OF_CONDUCT.md)

If not specified, default value is ``~/.kube/config``
    :param node_selector: A dict containing a group of scheduling rules.
    :param image_pull_secrets: Any image pull secrets to be given to the pod.
        If more than one secret is required, provide a
        comma separated list: secret_a,secret_b
    :param service_account_name: Name of the service account
    :param hostnetwork: If True enable host networking on the pod.
    :param tolerations: A list of kubernetes tolerations.
    :param security_context: security options the pod should run with (PodSecurityContext).
    :param container_security_context: security options the container should run with.
    :param dnspolicy: dnspolicy for the pod.
    :param dns_config: dns configuration (ip addresses, searches, options) for the pod.
    :param hostname: hostname for the pod.
    :param subdomain: subdomain for the pod.
    :param schedulername: Specify a schedulername for the pod
    :param full_pod_spec: The complete podSpec
    :param init_containers: init container for the launched Pod
    :param log_events_on_failure: Log the pod's events if a failure occurs
    :param do_xcom_push: If True, the content of the file
        /airflow/xcom/return.json in the container will also be pushed to an
        XCom when the container completes.
    :param pod_template_file: path to pod template file (templated)
    :param priority_class_name: priority class name for the launched Pod
    :param pod_runtime_info_envs: (Optional) A list of environment variables,
        to be set in the container.
    :param termination_grace_period: Termination grace period if task killed in UI,
        defaults to kubernetes default
    :param configmaps: (Optional) A list of names of config maps from which it collects ConfigMaps
        to populate the environment variables with. The contents of the target
        ConfigMap's Data field will represent the key-value pairs as environment variables.