Fixed unexpected np.nan value with reindex on pd.series with pd.Inter…
- [x] closes #51826
- [x] [Tests added and passed]
- [x] All [code checks passed]

The test added in this issue is failing on Linux-32-bit. This is caused by another issue as discussed in #23440. The description of the the error is also described below in the comments. The test is marked xfail for 32-bit system in this PR.   
I have tried to enforce the 64-bit integers on the index arrays.
```
def test_interval_index_reindex_behavior(base, expected_result):
    # GH 51826
    left = np.arange(base, dtype=np.int64)
    right = np.arange(1, base + 1, dtype=np.int64)
    d = Series(
        range(base),
        index=IntervalIndex.from_arrays(left, right)
    )
    result = d.reindex(index=[np.nan, 1.0])
    tm.assert_series_equal(result, expected_result)
 ```
 However, the 32 bit tests still seems to fail. The specific error is 
 ```
 FAILED pandas/tests/indexing/interval/test_interval.py::TestIntervalIndexInsideMultiIndex::test_interval_index_reindex_behavior[101-expected_result2] - TypeError: Cannot cast array data from dtype('int64') to dtype('int32') according to the rule 'safe'
FAILED pandas/tests/indexing/interval/test_interval.py::TestIntervalIndexInsideMultiIndex::test_interval_index_reindex_behavior[1010-expected_result3] - TypeError: Cannot cast array data from dtype('int64') to dtype('int32') according to the rule 'safe'
```

And the error also points to `line:196` on `pandas/_libs/intervaltree.pxi` which is this return statement.
```
cdef take(ndarray source, ndarray indices):
    """Take the given positions from a 1D ndarray
    """
    return PyArray_Take(source, indices, 0)
```
 Do anyone have ideas on solving this unexpected casting issue?
 
Update: This error is already discussed in #23440.  Thanks @raj-thapa 