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.
airflow/models/taskinstance.py
return prev_ds.replace('-', '')
        return {
            'conf': conf,
            'dag': task.dag,
            'dag_run': dag_run,
            'data_interval_end': timezone.coerce_datetime(dag_run.data_interval_end),
            'data_interval_start': timezone.coerce_datetime(dag_run.data_interval_start),
            'ds': ds,
            'ds_nodash': ds_nodash,
            'execution_date': deprecated_proxy(
                lambda: timezone.coerce_datetime(self.execution_date),
                key='execution_date',
                replacement='data_interval_start',
            ),
            'inlets': task.inlets,
            'macros': macros,
            'next_ds': deprecated_proxy(get_next_ds, key="next_ds", replacement="data_interval_end | ds"),
            'next_ds_nodash': deprecated_proxy(
                get_next_ds_nodash,
                key="next_ds_nodash",
                replacement="data_interval_end | ds_nodash",
            ),
            'next_execution_date': deprecated_proxy(
                get_next_execution_date,
                key='next_execution_date',
                replacement='data_interval_end',
            ),
            'outlets': task.outlets,
            'params': params,
            'prev_data_interval_start_success': lazy_object_proxy.Proxy(get_prev_data_interval_start_success),