REF: de-duplicate nested-dict handling in DataFrame construction
- [ ] closes #xxxx
- [ ] tests added / passed
- [ ] Ensure all linting tests pass, see [here](https://pandas.pydata.org/pandas-docs/dev/development/contributing.html#code-standards) for how to run them
- [ ] whatsnew entry

This was the motivation for #41707.  This will introduce some overhead, but will also prevent the behaviors from getting out of sync again.