BUG: pd.DateOffset handle milliseconds
- [X] closes #49897
- [X] [Tests added and passed](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#writing-tests) if fixing a bug or adding a new feature
- [X] All [code checks passed](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#pre-commit).
- [ ] Added [type annotations](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#type-hints) to new arguments/methods/functions.
- [x] Added an entry in the latest `doc/source/whatsnew/vX.X.X.rst` file if fixing a bug or adding a new feature.

IMO after this fix, `_determine_offset` needs some rework. The function has been continuously patched over-time and has become unreadable. 

I'm testing some implementations in a separate branch I made it:
- milliseconds now work in combination with _sub-/above-daily_ args (see tests)
- code is cleaned
- no existing tests are broken

It was tough to maintain compatibility with older tests. If new issues about this or related modules come up, feel free to tag me.  thanks for working on this, I'll take a look soon

looks like CI didn't run for some reason, could you resolve the merge conflicts and push please? that should restart it Thanks @markopacak 