BUG: merge_asof raising KeyError for extension dtypes
- [x] closes #52904
- [x] [Tests added and passed](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#writing-tests) if fixing a bug or adding a new feature
- [x] All [code checks passed](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#pre-commit).
- [x] Added [type annotations](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#type-hints) to new arguments/methods/functions.
- [x] Added an entry in the latest `doc/source/whatsnew/v2.1.0.rst` file if fixing a bug or adding a new feature.

Thanks @lukemanley  @lukemanley thanks for fixing. I was wondering, do you expect it to work for timezone aware pyarrow timestamps eg `pa.timestamp("ns", "UTC")`
 @0x26res - yes, tz-aware pyarrow timestamps should work in pandas 2.1 (to be released later this month):

```
In [1]: import pandas as pd

In [2]: import pyarrow as pa

In [3]: dtype = pd.ArrowDtype(pa.timestamp('ns', 'UTC'))

In [4]: df1 = pd.DataFrame({"a": [1, 3]}, index=pd.Index([1, 3], dtype=dtype))

In [5]: df2 = pd.DataFrame({"b": [0, 2]}, index=pd.Index([0, 2], dtype=dtype))

In [6]: pd.merge_asof(df1, df2, left_index=True, right_index=True)
Out[6]: 
                                     a  b
1970-01-01 00:00:00.000000001+00:00  1  0
1970-01-01 00:00:00.000000003+00:00  3  2
```