### Apache Airflow Provider(s)

microsoft-azure

### Versions of Apache Airflow Providers

apache-airflow-providers-microsoft-azure 5.2.1

### Apache Airflow version

2.5.1

### Operating System

Ubuntu 18.04

### Deployment

Official Apache Airflow Helm Chart

### Deployment details

_No response_

### What happened

When attempting to use Azure Active Directory application to connect to Azure Data Lake Storage Gen2 hook, the generated account URL sent to the DataLakeServiceClient is incorrect.

It substitutes in the Client ID (`login` field) where the storage account name should be.

### What you think should happen instead

The `host` field on the connection form should be used to store the storage account name and should be used to fill the account URL for both Active Directory and Key-based authentication.

### How to reproduce

1. Create an "Azure Data Lake Storage V2" connection (adls) and put the AAD application Client ID into `login` field, Client secret into `password` field and Tenant ID into `tenant_id` field.
2. Attempt to perform any operations with the `AzureDataLakeStorageV2Hook` hook.
3. Notice how it fails, and that the URL in the logs is incorrectly `https://{client_id}.dfs.core.windows.net/...`, when it should be `https://{storage_account}.dfs.core.windows.net/...`

This can be fixed by:
1. Making your own copy of the hook.
2. Entering the storage account name into the `host` field (currently labelled "Account Name (Active Directory Auth)").
3. Editing the `get_conn` method to substitute `conn.host` into the `account_url` (instead of `conn.login`).

### Anything else

_No response_

### Are you willing to submit PR?

- [X] 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)

prefix = "extra__adls__"
        if field_name.startswith("extra__"):
            raise ValueError(
                f"Got prefixed name {field_name}; please remove the '{prefix}' prefix "
                f"when using this method."
            )
        if field_name in extra_dict:
            return extra_dict[field_name] or None
        return extra_dict.get(f"{prefix}{field_name}") or None
    def create_file_system(self, file_system_name: str) -> None:
        """
        A container acts as a file system for your files. Creates a new file system under
        the specified account.
        If the file system with the same name already exists, a ResourceExistsError will
        be raised. This method returns a client with which to interact with the newly
        created file system.
        """
        try:
            file_system_client = self.service_client.create_file_system(file_system=file_system_name)
            self.log.info("Created file system: %s", file_system_client.file_system_name)
        except ResourceExistsError:
            self.log.info("Attempted to create file system %r but it already exists.", file_system_name)
        except Exception as e:
            self.log.info("Error while attempting to create file system %r: %s", file_system_name, e)
            raise
    def get_file_system(self, file_system: FileSystemProperties | str) -> FileSystemClient: