API: combine casting behavior with extension types
In `combine`, current behavior tries to maintain extension types by casting back if possible through `maybe_cast_pointwise_result`. This can give some value dependent behavior with a (contrived) example like the following:

```
In [3]: ser = pd.Series([True, True], dtype="boolean")

In [4]: ser.combine(2, lambda x, y: int(x) * y)
Out[4]:
0    2
1    2
dtype: int64

In [5]: ser = pd.Series([False, False], dtype="boolean")

In [6]: ser.combine(2, lambda x, y: int(x) * y)
Out[6]:
0    False
1    False
dtype: boolean
```

Not sure if that is desired behavior on its own, but it presents an issue for fixing #42137. On current master object boolean data raises in `IntegerArray._from_sequence`, so `combine` fails to cast back:

```
In [2]: ser = pd.Series([1, pd.NA], dtype="Int64")

In [3]: ser.combine(2, lambda x, y: x < y)
Out[3]:
0    True
1    <NA>
dtype: object
```

However, fixing #42137 will allow casting back, changing this behavior to 

```
In [5]: ser = pd.Series([1, pd.NA], dtype="Int64")

In [6]: ser.combine(2, lambda x, y: x < y)
Out[6]:
0       1
1    <NA>
dtype: Int64
```
which looks unexpected (and fails `pandas/tests/extension/test_integer.py::TestMethods::test_combine_le` section of tests).


