### 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)

priority_class_name: str | None = None,
        pod_runtime_info_envs: list[k8s.V1EnvVar] | None = None,
        termination_grace_period: int | None = None,
        configmaps: list[str] | None = None,
        skip_on_exit_code: int | Container[int] | None = None,
        base_container_name: str | None = None,
        deferrable: bool = conf.getboolean("operators", "default_deferrable", fallback=False),
        poll_interval: float = 2,
        log_pod_spec_on_failure: bool = True,
        on_finish_action: str = "delete_pod",
        is_delete_operator_pod: None | bool = None,
        termination_message_policy: str = "File",
        active_deadline_seconds: int | None = None,
        progress_callback: Callable[[str], None] | None = None,
        **kwargs,
    ) -> None:
        
        
        if isinstance(kwargs.get("resources"), k8s.V1ResourceRequirements):
            raise AirflowException(
                "Specifying resources for the launched pod with 'resources' is deprecated. "
                "Use 'container_resources' instead."
            )
        
        
        if "node_selectors" in kwargs:
            raise ValueError(
                "Param `node_selectors` supplied. This param is no longer supported. "
                "Use `node_selector` instead."
            )