BUG: Interchange object data buffer has the wrong dtype / from_dataframe incorrect 
- [ ] closes #54781 (Replace xxxx with the GitHub issue number)
- [ ] [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/vX.X.X.rst` file if fixing a bug or adding a new feature.

I haven't included a whatsnew note as this isn't user-facing
The tricky thing will be to test this ... Given that we don't yet have implementations to test with (pandas itself doesn't yet return the correct dtype), should we add some very specific unit tests explicitly targetting the helper function (where we can pass both types of dtypes). Although I assume that's still difficult, as those helpers take a Column object, and then we would have to mock a Column object just for those tests .. good point, marking as draft til I get back to that I've tried this out with:
- pandas: this branch
- polars: https://github.com/pola-rs/polars/pull/10787

and now
```python
df = pl.DataFrame({'a': ['foo', 'bar']})
print(pd.api.interchange.from_dataframe(df))
```
runs fine (whereas using pandas main and that branch from polars would've raised 
```python
>       assert protocol_data_dtype[2] in (
            ArrowCTypes.STRING,
            ArrowCTypes.LARGE_STRING,
        )  # format_str == utf-8
E       AssertionError
```
)

@stinodego fancy taking a look? thanks for your review 🙏 ! I've tried addressing your comments  > thanks for your review 🙏 ! I've tried addressing your comments

Yeah I think this should do it! Any chance this can get merged and be part of the next release? 🙏 

This is blocking improvements to the protocol across all dataframe libraries. @jorisvandenbossche fancy taking a look please?

I'd suggest backporting this, it has no user facing impact anyway @MarcoGorelli 

Should this block the release? > @MarcoGorelli
> 
> Should this block the release?

not at all! if it can't be backported to 1.1.2, no issue, definitely not a blocker merging then, thanks all!