np.nan comparison to pd.NA Equality Semantics differ elementwise in IntervalArray
Discovered in #31799

I think this is probably a deeper rooted problem than just IntervalArray but not sure how else to describe. @jorisvandenbossche maybe has thoughts

```python
>>> from pandas.core.arrays import IntervalArray
>>> arr = IntervalArray.from_arrays([0., 1., 2., np.nan], [1., 2., 3., np.nan])
>>> arr == pd.NA
array([False, False, False, False])
>>> arr[-1] == pd.NA
<NA>
```