TST: Fix setitem parametrizations
I'm not sure if i am on the right track with this PR but it's a try. If not i will close it and probably someone more into the code has to dig into that issue.

- [x] closes #56727
- [x] [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
- [x] All [code checks passed](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#pre-commit).
- [ ] Added an entry in the latest `doc/source/whatsnew/vX.X.X.rst` file if fixing a bug or adding a new feature.

I'd like to understand how this relates to #31948 (for which the behavior seems to have changed since it was opened).

Ideally we'd do checks on the indexer once at the DataFrame/Series level instead of at the block level which can end up doing them repeatedly. @jbrockmendel i updated #31948 with the current behavior. What would be the desired behavior? Maybe the test has wrong expectations... With `@pytest.mark.filterwarnings("ignore::FutureWarning")`, as the only change, instead of
```
if type(arr) is pd.Series:
    arr.iloc[idx] = arr.iloc[0]
else:
    arr[idx] = arr[0]
```
the main reason the test are failing is `KeyError: '[0 1 2 <NA>] not in index'` is raised. 
But this could also be the desired Error? i opened a new PR, that only changes the `setitem-py`, but does does pass all tests. See #57629 @jbrockmendel @mroeschke maybe you can have a look at  #57629 This pull request is stale because it has been open for thirty days with no activity. Please [update](https://pandas.pydata.org/pandas-docs/stable/development/contributing.html#updating-your-pull-request) and respond to this comment if you're still interested in working on this. Thanks for the pull request, but it appears to have gone stale. If interested in continuing, please merge in the main branch, address any review comments and/or failing tests, and we can reopen.