Pandas version checks

  • [x] I have checked that this issue has not already been reported.

  • [x] I have confirmed this bug exists on the latest version of pandas.

  • [x] I have confirmed this bug exists on the main branch of pandas.

Reproducible Example

left = pd.Series([None], dtype="date32[pyarrow]")
right = pd.Series([None], dtype="null[pyarrow]")

result = pd.concat([left, right])

>>> result.dtype
timestamp[ms][pyarrow]

Issue Description

In ArrowDtype._get_common_dtype we go through

        new_dtype = find_common_type(
            [
                dtype.numpy_dtype if isinstance(dtype, ArrowDtype) else dtype
                for dtype in dtypes
                if dtype != null_dtype
            ]
        )

The date dtype.numpy_dtype gives "M8[ms]", so we get new_dtype="M8[ms]", which gets cast to timestamp[ms][pyarrow].

Expected Behavior

date32[pyarrow]

Installed Versions

Replace this line with the output of pd.show_versions()