CLN/BUG: fix ndarray assignment may cause unexpected cast
- [x] closes #14001
- [x] tests added / passed
- [x] passes `git diff upstream/master | flake8 --diff`
- [x] whatsnew entry

Fixed a bug with assignment against block may be coerced incorrectly.

```
s = pd.Series([pd.Timestamp('2011-01-01'), pd.Timestamp('2012-01-01')])
s[1] = 1
s
#0   2011-01-01 00:00:00.000000000
#1   1970-01-01 00:00:00.000000001
# dtype: datetime64[ns]
```
