BUG: fix read_csv to parse timezone correctly
Use `box=True` for `to_datetime()`, and adjust downstream processing to the change.

- [x] closes #22256
- [x] tests added / passed
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [x] whatsnew entry
