BUG: Slice Arrow buffer before passing it to numpy (#40896)
Add Arrow buffer slicing before handing it over to numpy which is
needed in case the Arrow buffer contains padding or offset.

- [x] closes #40896
- [x] tests added / passed
- [x] Ensure all linting tests pass, see [here](https://pandas.pydata.org/pandas-docs/dev/development/contributing.html#code-standards) for how to run them
- [x] whatsnew entry

Points I'm not sure about:
- I created a new test file. Would it be better to place the test somewhere else?
- The test only tests int32. Should I add more dtypes?

I'm still new to the internals of pandas and always trying to improve so feedback of any kind is highly appreciated!