Bug fix where df.rolling doesn't work with certain datetime64 index t…
- [x] closes #55299
- [x] Tests added and passed.
- [x] All code checks passed.
- [x] Added an entry in bug fixes in the latest `doc/source/whatsnew/v2.2.0.rst` file.

This PR fixes an issue where in `df.rolling`, `rolling._win_freq_i8` is always given in nanoseconds but `rolling._index_array` is given in the unit corresponding to the dtype (e.g. s, ms, us, ns). This causes a problem when the window is calculated if the dtype is not `datetime64[ns]`. This code returns the index array in nanoseconds so it matches with `rolling._win_freq_i8`.
Thanks for the PR and the late triage in the old issue. We have a PR already in progress to fix this issue https://github.com/pandas-dev/pandas/pull/55173 so going to close in favor of that PR.