BUG: Fix bug in reindexing of period columns after unstack
- [ ] closes #60980
- [ ] closes #60273
- [ ] [Tests added and passed](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#writing-tests) if fixing a bug or adding a new feature
- [ ] All [code checks passed](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#pre-commit).
- [ ] Added [type annotations](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#type-hints) to new arguments/methods/functions.
- [ ] Added an entry in the latest `doc/source/whatsnew/v3.0.0.rst` file if fixing a bug or adding a new feature.

When indexing a `Period` block, the `BaseBlockManager.reindex_indexer` method thinks `Period` blocks can't store 2D values and always returns the first element. This is because it uses a hardcoded list of types (which is missing `PeriodDtype`) that are known to allow 2D values. The fix is to use the `is_1d_only_ea_dtype` utility function which internally uses the `_supports_2d` flag of the dtype.

The bug only happens when indexing a 2D period block, which may be created after operations like transpose, pivot, unstack etc.
Thanks @snitish 