CLN: various related to numeric indexes
A few bits to make #41153 smaller.

Also fixes an issue with the current implementation of NumericIndex._engine_type:

The implementation currently uses `self.dtype.type`, which is a problem when we are given platform-specific dtypes, e.g. `np.intc`.

For example:

```python
>>> d1 = np.dtype(np.intc)
>>> d1
dtype('int32')
>>> d2 = np.dtype(np.int32)
>>> d1 == d2
True
>>> d1.type == d2.type
False  # a problem
```

So the _engine_type dict should use np.dtype(np.int64) etc., so avoid such problems.