BUG: regression in DataFrame.combine_first with integer columns (GH14687)
closes #14687

minor change, lgtm otherwise. @sinhrks see https://github.com/pandas-dev/pandas/issues/14687. The code I now removed was introduced in https://github.com/pandas-dev/pandas/pull/13970 (see https://github.com/pandas-dev/pandas/pull/13970/files#diff-1e79abbbdd150d4771b91ea60a4e1cc7L3703). 
Can you still remember the reason for the `notnull(series).all()`? ## [Current coverage](https://codecov.io/gh/pandas-dev/pandas/pull/14886?src=pr) is 85.30% (diff: 100%)
> Merging [#14886](https://codecov.io/gh/pandas-dev/pandas/pull/14886?src=pr) into [master](https://codecov.io/gh/pandas-dev/pandas/branch/master?src=pr) will increase coverage by **<.01%**

```diff
@@             master     #14886   diff @@
==========================================
  Files           144        144          
  Lines         51004      51005     +1   
  Methods           0          0          
  Messages          0          0          
  Branches          0          0          
==========================================
+ Hits          43511      43512     +1   
  Misses         7493       7493          
  Partials          0          0          
```

> Powered by [Codecov](https://codecov.io?src=pr). Last update [5f889a2...7f325cd](https://codecov.io/gh/pandas-dev/pandas/compare/5f889a2106f6584583458e01dbd0f3b9b696fab2...7f325cdef23a7c1ef06a5a6ef0f0f62fbf5b5273?src=pr) @jorisvandenbossche Thx for the fix.

I think it is to keep caller's dtype if it doesn't have missing. If #14687 example can keep ``int`` dtype, the logic should be unnecessary. > I think it is to keep caller's dtype if it doesn't have missing.

OK, because there is a ``_possibly_downcast_to_dtype(arr, this_dtype)`` later on, it will be cast to int again if possible, and in this way also preserves the int, AFAIU