API/BUG: Series(floating, dtype=intlike) ignores dtype, DataFrame casts
In most contexts, Series is strict about dtype, so will always either return the given dtype or raise.  DataFrame is the opposite, often silently ignoring dtype (xref #24435) (i think on the theory that dtype may be intended to apply to some columns but not others).

With floating data and integer dtypes, its the opposite:

```
arr = np.random.randn(5)

>>> pd.Series(arr, dtype="int16")
0    1.002695
1    0.259332
2   -1.111468
3   -0.680714
4   -0.008943

>>> pd.DataFrame(arr, dtype="int16")
   0
0  1
1  0
2 -1
3  0
4  0
```

We have exactly one test that is broken if we change the latter behavior, and that is mostly by coincidence.  There are other bugs (e.g. `Series(bigints, dtype="int8")` silently overflowing) that would be easier to fix if maintaining this behavior weren't a consideration.

Is this intentional?  cc @jreback @jorisvandenbossche @TomAugspurger 