BUG GH23282 calling min on series of NaT returns NaT
- [X] closes #23282 
- [X] tests passed
- [X] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [x] whatsnew entry

For `max`, `NaT` values are filled with the lowest possible value. For `min`, they are filled with the highest possible value. The problem is that only the lowest possible value is recognized as `NaT`. Since `nanops.py` is responsible for assigning the highest value to `NaT` when min is called, it should also be responsible for translating it to `NaT` when appropriate.