BUG: invalidate cached Index._isnan if use_inf_as_na changed?
### 

- [X] I have checked that this issue has not already been reported.

- [X] I have confirmed this bug exists on the [latest version](https://pandas.pydata.org/docs/whatsnew/index.html) of pandas.

- [X] I have confirmed this bug exists on the master branch of pandas.


### Reproducible Example

```python
import numpy as np
import pandas as pd

idx = pd.Index([np.inf, np.nan], dtype=np.float64)

assert (pd.isna(idx) == idx.isna()).all()

pd.set_option("use_inf_as_na", True)

assert (pd.isna(idx) == idx.isna()).all()  # <- nope!
```


### Issue Description

pd.isna(obj) and obj.isna() are _generally_ interchangeable, but pd.Index caches .isna in a _isnan cache_readonly.  If we want to maintain that interchangeability, we'd need to invalidate that cache.

My inclination is that it isn't worth futzing around with, but someone who uses use_inf_as_na=True might care more.

### Expected Behavior

```
assert (pd.isna(idx) == idx.isna()).all()
```

### Installed Versions

<details>

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

</details>
