TYP: cache_readonly
- [x] closes #41588
- [ ] tests added / passed
- [x] Ensure all linting tests pass, see [here](https://pandas.pydata.org/pandas-docs/dev/development/contributing.html#code-standards) for how to run them
- [ ] whatsnew entry

I'm not sure how to test this on the CI - pyright is happy on my machine:
```py
import pandas as pd

index: pd.IntervalIndex = pd.IntervalIndex.from_arrays([1], [2])
reveal_type(index)
reveal_type(index.right)
```
```
info: Type of "index" is "IntervalIndex"
info: Type of "index.right" is "Index"
```