API: Datetime tz-aware/tz-naive ops consistency
Followings should be changed to coerce to `object` dtype.
## Coerce to tz-naive / UTC
- [x] Slice (`__getitem__`) resets tz  #11351 
- [x] `.loc` assignment coerces to naive #11365
- [x] `GroupBy.first` coerces to naive #10668 
- [x] `DataFrame.combine_first` #10567
- [x] `Index` creation #11488  -> changed to be Index(dtype=object) (#11696)
## Raises TypeError / ValueError
- [ ] `DatetimeIndex.union` raises `TypeError` #11351
## Bug
- [x] `Series.append` raises `AttributeError` #11455
- [x] `concat` raises `IndexError` #11693 
- [x] `replace` #11792
