BUG: ensure reindex / getitem to select columns properly copies data for extension dtypes
I encountered this while writing more tests for Copy-on-Write. Currently, the _general_ rule is that selecting columns with a list-like indexer using getitem gives a copy:

```python
df = pd.DataFrame(np.random.randn(10, 4), columns=['a', 'b', 'c', 'd'])
subset = df[["a", "b"]]
# subset is a copy
subset.iloc[0, 0] = 0
assert df.iloc[0, 0] != 0
```

However, that doesn't seem to be the case when the columns we select are extension dtypes. When using `dtype="Float64"` in the above example, the original `df` gets updated because subset isn't a copy.

While I am not sure this is an explicitly documented rule (AFAIK this is de-facto behaviour, and only described as such in the discussions related to copy/view and CoW), I do think it would be expected that extension dtypes behave the same as numpy dtypes on this front.  
(it also makes writing tests for copy/view behaviour harder if the behaviour doesn't only change for CoW or not, but also depending on numpy vs extension dtypes. This is where I encountered the issue)

- [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
- [ ] 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.
- [x] Added an entry in the latest `doc/source/whatsnew/vX.X.X.rst` file if fixing a bug or adding a new feature.

+1.  This seems like the kind of thing that I'd usually want to call a bugfix and you'd want to call a breaking change.  Since its for 2.0 i'd be fine documenting it either way. Documented as a bug fix.

We could also leave it as is, and delay the behaviour change to pandas 3.0 when Copy-on-Write would be enabled. That has the benefit of not having the performance hit in the meantime of making the copy, but the drawback that we keep the wrong behaviour for a longer time (giving more people the chance to rely on its side-effects). I would personally go for the correct behaviour right now.