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
self._log = logging.getLogger("airflow.task")
        
        if execution_date and not timezone.is_localized(execution_date):
            self.log.warning(
                "execution date %s has no timezone information. Using default from dag or system",
                execution_date,
            )
            if self.task.has_dag():
                execution_date = timezone.make_aware(execution_date, self.task.dag.timezone)
            else:
                execution_date = timezone.make_aware(execution_date)
            execution_date = timezone.convert_to_utc(execution_date)
        self.execution_date = execution_date
        self.try_number = 0
        self.unixname = getuser()
        if state:
            self.state = state
        self.hostname = ''
        self.init_on_load()
        
        
        self.raw = False
        
        self.test_mode = False
    @reconstructor
    def init_on_load(self):
        """Initialize the attributes that aren't stored in the DB"""
        self.test_mode = False  
    @property
    def try_number(self):