### Apache Airflow version

Other Airflow 2 version (please specify below)

### What happened

Apache Airflow version:  2.4.0

I remove DAG from storage then trigger it:

curl -X POST 'http://localhost:8080/api/dags/<DAG_ID>/dag_runs' --header 'Content-Type: application/json' --data '{"dag_run_id":"my_id"}'

it returns:
```

Traceback (most recent call last):
  File &#34;/home/airflow/.local/lib/python3.8/site-packages/flask/app.py&#34;, line 2525, in wsgi_app
    response = self.full_dispatch_request()
  File &#34;/home/airflow/.local/lib/python3.8/site-packages/flask/app.py&#34;, line 1822, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File &#34;/home/airflow/.local/lib/python3.8/site-packages/flask/app.py&#34;, line 1820, in full_dispatch_request
    rv = self.dispatch_request()
  File &#34;/home/airflow/.local/lib/python3.8/site-packages/flask/app.py&#34;, line 1796, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
  File &#34;/home/airflow/.local/lib/python3.8/site-packages/connexion/decorators/decorator.py&#34;, line 68, in wrapper
    response = function(request)
  File &#34;/home/airflow/.local/lib/python3.8/site-packages/connexion/decorators/uri_parsing.py&#34;, line 149, in wrapper
    response = function(request)
  File &#34;/home/airflow/.local/lib/python3.8/site-packages/connexion/decorators/validation.py&#34;, line 196, in wrapper
    response = function(request)
  File &#34;/home/airflow/.local/lib/python3.8/site-packages/connexion/decorators/validation.py&#34;, line 399, in wrapper
    return function(request)
  File &#34;/home/airflow/.local/lib/python3.8/site-packages/connexion/decorators/response.py&#34;, line 112, in wrapper
    response = function(request)
  File &#34;/home/airflow/.local/lib/python3.8/site-packages/connexion/decorators/parameter.py&#34;, line 120, in wrapper
    return function(**kwargs)
  File &#34;/home/airflow/.local/lib/python3.8/site-packages/airflow/api_connexion/security.py&#34;, line 51, in decorated
    return func(*args, **kwargs)
  File &#34;/home/airflow/.local/lib/python3.8/site-packages/airflow/utils/session.py&#34;, line 75, in wrapper
    return func(*args, session=session, **kwargs)
  File &#34;/home/airflow/.local/lib/python3.8/site-packages/airflow/api_connexion/endpoints/dag_run_endpoint.py&#34;, line 310, in post_dag_run
    dag_run = dag.create_dagrun(
AttributeError: &#39;NoneType&#39; object has no attribute &#39;create_dagrun&#39;
```


### What you think should happen instead

should response with 404 "A specified resource is not found."

### How to reproduce

- remove existing DAG file from storage
- create a new DAG run using API endpoint /api/dags/<DAG_ID>/dag_runs for that deleted DAG

### Operating System

18.04.1 Ubuntu

### Versions of Apache Airflow Providers

_No response_

### Deployment

Official Apache Airflow Helm Chart

### 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)

def test_should_respond_200(self, dag_maker, session):
        dataset1 = Dataset(uri="ds1")
        with dag_maker(dag_id="source_dag", start_date=timezone.utcnow(), session=session):
            EmptyOperator(task_id="task", outlets=[dataset1])
        dr = dag_maker.create_dagrun()
        ti = dr.task_instances[0]
        ds1_id = session.query(DatasetModel.id).filter_by(uri=dataset1.uri).scalar()
        event = DatasetEvent(
            dataset_id=ds1_id,
            source_task_id=ti.task_id,
            source_dag_id=ti.dag_id,
            source_run_id=ti.run_id,
            source_map_index=ti.map_index,
        )
        session.add(event)
        with dag_maker(dag_id="TEST_DAG_ID", start_date=timezone.utcnow(), session=session):
            pass
        dr = dag_maker.create_dagrun(run_id="TEST_DAG_RUN_ID", run_type=DagRunType.DATASET_TRIGGERED)
        dr.consumed_dataset_events.append(event)
        session.commit()
        assert event.timestamp
        response = self.client.get(
            "api/v1/dags/TEST_DAG_ID/dagRuns/TEST_DAG_RUN_ID/upstreamDatasetEvents",
            environ_overrides={"REMOTE_USER": "test"},
        )
        assert response.status_code == 200