BUG: GH14323 Union of differences from DatetimeIndex incorrect
- [ ] closes #14323 
- [ ] tests added / passed
- [ ] passes `git diff upstream/master | flake8 --diff`
- [ ] whatsnew entry

Sets freq to None when doing a difference operation on a DatetimeIndex
or TimedeltaIndex, rather than retaining the frequency (which can cause
problems with downstream operations). Frequency of PeriodIndex is
retained.

## [Current coverage](https://codecov.io/gh/pydata/pandas/pull/14346?src=pr) is 85.26% (diff: 100%)

> Merging [#14346](https://codecov.io/gh/pydata/pandas/pull/14346?src=pr) into [master](https://codecov.io/gh/pydata/pandas/branch/master?src=pr) will increase coverage by **<.01%**

``` diff
@@             master     #14346   diff @@
==========================================
  Files           140        140          
  Lines         50632      50632          
  Methods           0          0          
  Messages          0          0          
  Branches          0          0          
==========================================
+ Hits          43171      43172     +1   
+ Misses         7461       7460     -1   
  Partials          0          0          
```

> Powered by [Codecov](https://codecov.io?src=pr). Last update [58542e8...1dbf582](https://codecov.io/gh/pydata/pandas/compare/58542e83367973be15fe22e0906907edab35813f...1dbf582b5b8f8d3bf81a047ef3cb886ab33cbb13?src=pr)
 Just bumping since my other comment was downthread-- I've reverted the whatsnew changes and made the tests use explicit comparisons, and then squashed the resulting commits. Glad to make a further refactor to the tests if you'd like.
 @Liam3851 Sorry for the delay in comment. 
For me the explicit separate tests are OK. But, can you simplify the test cases a little bit? As the issue is not that you take a union of differences (that was just the specific case where you encountered the issue). The issue is rather that a) `difference` now returned a `freq`, and b) that `union` does not handle indexes with `freq` correctly. So I would just use a simple example for both cases. 
 thanks!
