### Body

Currently `start_date` is mandatory parameter.
For DAGs with `schedule=None` we can relax this requirement as no scheduling calculation needed so the `start_date` parameter isn't used.

### Committer

- [X] I acknowledge that I am a maintainer/committer of the Apache Airflow project.
"""Emit the true scheduling delay stats.
        The true scheduling delay stats is defined as the time when the first
        task in DAG starts minus the expected DAG run datetime.
        This helper method is used in ``update_state`` when the state of the
        DAG run is updated to a completed status (either success or failure).
        It finds the first started task within the DAG, calculates the run's
        expected start time based on the logical date and timetable, and gets
        the delay from the difference of these two values.
        The emitted data may contain outliers (e.g. when the first task was
        cleared, so the second task's start date will be used), but we can get
        rid of the outliers on the stats side through dashboards tooling.
        Note that the stat will only be emitted for scheduler-triggered DAG runs
        (i.e. when ``external_trigger`` is *False* and ``clear_number`` is
        greater than 0).
        """
        if self.state == TaskInstanceState.RUNNING:
            return
        if self.external_trigger: