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!
Thanks for the PR!

> I created a new test file. Would it be better to place the test somewhere else?

There is a `pandas/tests/arrays/masked/test_arrow_compat.py`. I think you can put it there.

> The test only tests int32. Should I add more types?

Yes, I think it would be good to parameterize the test across different dtypes.
 I moved the test and added parameterization for all numeric types. thanks @ThomasBlauthQC 

i think the checks are running, but can merge on green. Looks green @jreback. Merge? @ThomasBlauthQC Thanks a lot for the fix!