### Apache Airflow version

2.6.3

### What happened

When running multiple standalone DAG processors with separate DAG directories using the `--subdir` argument the processors keep deactivating each other's DAGs (and reactivating their own).

After stepping through the code with a debugger I think the issue is that the calls [here](https://github.com/apache/airflow/blob/2.6.3/airflow/dag_processing/manager.py#L794) and [here](https://github.com/apache/airflow/blob/2.6.3/airflow/dag_processing/manager.py#L798) have no awareness of the DAG directories.

### What you think should happen instead

The DAG processors should not touch each other's DAGs in the metadata DB.

### How to reproduce

Start two or more standalone DAG processors with separate DAG directories and observe (e.g. via the UI) how the list of active DAGs keeps changing constantly.

### Operating System

Linux 94b223524983 6.1.32-0-virt #1-Alpine SMP PREEMPT_DYNAMIC Mon, 05 Jun 2023 09:39:09 +0000 x86_64 x86_64 x86_64 GNU/Linux

### Versions of Apache Airflow Providers

_No response_

### Deployment

Other Docker-based deployment

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

"""Write code into database.
        :param session: ORM Session
        """
        self.bulk_sync_to_db([self.fileloc], session)
    @classmethod
    @provide_session
    def bulk_sync_to_db(cls, filelocs: Iterable[str], session: Session = NEW_SESSION) -> None:
        """Write code in bulk into database.
        :param filelocs: file paths of DAGs to sync
        :param session: ORM Session
        """
        filelocs = set(filelocs)
        filelocs_to_hashes = {fileloc: DagCode.dag_fileloc_hash(fileloc) for fileloc in filelocs}
        existing_orm_dag_codes = session.scalars(
            select(DagCode)
            .filter(DagCode.fileloc_hash.in_(filelocs_to_hashes.values()))
            .with_for_update(of=DagCode)
        ).all()
        if existing_orm_dag_codes:
            existing_orm_dag_codes_map = {
                orm_dag_code.fileloc: orm_dag_code for orm_dag_code in existing_orm_dag_codes
            }
        else:
            existing_orm_dag_codes_map = {}
        existing_orm_dag_codes_by_fileloc_hashes = {orm.fileloc_hash: orm for orm in existing_orm_dag_codes}