Currently we use execution-date when generating the command to send via executor in https://github.com/apache/airflow/blob/9c94b72d440b18a9e42123d20d48b951712038f9/airflow/models/taskinstance.py#L420-L436

We should replace the execution_date in their to run_id instead and handle the corresponding changes needs on the executor and worker.
tests/models/test_taskinstance.py
dag, task = create_dummy_dag(
            dag_id='test_pendulum_template_dates',
            task_id='test_pendulum_template_dates_task',
            schedule_interval='0 12 * * *',
        )
        execution_date = timezone.utcnow()
        dag.create_dagrun(
            execution_date=execution_date,
            state=State.RUNNING,
            run_type=DagRunType.MANUAL,
        )
        ti = TI(task=task, execution_date=execution_date)
        template_context = ti.get_template_context()
        assert isinstance(template_context["data_interval_start"], pendulum.DateTime)
        assert isinstance(template_context["data_interval_end"], pendulum.DateTime)
    @pytest.mark.parametrize(
        "content, expected_output",
        [
            ('{{ conn.get("a_connection").host }}', 'hostvalue'),
            ('{{ conn.get("a_connection", "unused_fallback").host }}', 'hostvalue'),
            ('{{ conn.get("missing_connection", {"host": "fallback_host"}).host }}', 'fallback_host'),
            ('{{ conn.a_connection.host }}', 'hostvalue'),
            ('{{ conn.a_connection.login }}', 'loginvalue'),
            ('{{ conn.a_connection.password }}', 'passwordvalue'),
            ('{{ conn.a_connection.extra_dejson["extra__asana__workspace"] }}', 'extra1'),
            ('{{ conn.a_connection.extra_dejson.extra__asana__workspace }}', 'extra1'),
        ],
    )
    def test_template_with_connection(self, content, expected_output, create_dummy_dag):