### Apache Airflow version

main (development)

### What happened

It seems [this](https://github.com/apache/airflow/commit/e16207409998b38b91c1f1697557d5c229ed32d1) commit has made the task instance execution date disappear from the task instance tooltip completely:
![image](https://github.com/apache/airflow/assets/18099224/62c9fec5-9e02-4319-93b9-197d25a8b027)
Note the missing `Run: <execution date>` between Task_id and Run_id.
I think there's a problem with the task instance execution date, because it's always `undefined`. In an older version of Airflow (2.4.3), I can see that the tooltip always shows the **current** datetime instead of the actual execution date, which is what the author of the commit identified in the first place I think.

### What you think should happen instead

The tooltip should properly show the task instance's execution date, not the current datetime (or nothing). There's a deeper problem here that causes `ti.execution_date` to be `undefined`.

### How to reproduce

Run the main branch of Airflow, with a simple DAG that finishes a run successfully. Go to the Graph view of a DAG and hover over any completed task with the mouse.

### Operating System

Ubuntu 22.04

### Versions of Apache Airflow Providers

_No response_

### Deployment

Virtualenv installation

### Deployment details

_No response_

### Anything else

_No response_

### Are you willing to submit PR?

- [ ] 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 current_page <= mid or num_of_pages < window:
        pages = list(range(0, min(num_of_pages, window)))
    elif mid < current_page < last_page - mid:
        pages = list(range(current_page - mid, current_page + mid + 1))
    else:
        pages = list(range(num_of_pages - window, last_page + 1))
    def is_current(current, page):
        return page == current
    for page in pages:
        qs = get_params(
            page=page,
            search=search,
            status=status,
            tags=tags,
            sorting_key=sorting_key,
            sorting_direction=sorting_direction,
        )
        vals = {
            "is_active": "active" if is_current(current_page, page) else "",
            "href_link": void_link if is_current(current_page, page) else f"?{qs}",
            "page_num": page + 1,
        }
        output.append(page_node.format(**vals))
    is_disabled = "disabled" if current_page >= num_of_pages - 1 else ""
    qs = get_params(
        page=current_page + 1,
        search=search,
        status=status,
        tags=tags,
        sorting_key=sorting_key,