BUG: to_frame and transpose called on a series don't maintain dtype
- [ O] I have checked that this issue has not already been reported.

- [ O ] I have confirmed this bug exists on the latest version of pandas.

- [ ] (optional) I have confirmed this bug exists on the master branch of pandas.

---

```python
import pandas as pd

series_index = ["a", "b", "c"]
series_data = [1.0, 0, "X"]

series = pd.Series(index=series_index, data=series_data)

df_from_series = series.to_frame().T

print(df_from_series["a"].dtype)
# >> dtype('O')

df_from_constructor = pd.DataFrame(columns=series.index, data=[series.values])

print(df_from_constructor["a"].dtype)
# >> dtype('float64')
```

#### Problem description

When converting a series to a single row dataframe, dtypes are not maintained. This cause a problem when a subsequent groupby with sum is called, which dropped the now non-numeric column. 

Above behaviour is inconsistent to the resulting dataframe initialized from the DataFrame constructor with the series index and values attribute passed.

Above behaviour has not been observed in previous versions and I can see some transpose() related changes in the release-notes.

#### Expected Output



#### Output of ``pd.show_versions()``

<details>

Can neither log into github from my corporate machine nor send the version information out without getting compliance issues, but pandas is 1.3.2

</details>
