BUG: NumericIndex.insert does not preserve dtype
### 

- [X] I have checked that this issue has not already been reported.

- [X] I have confirmed this bug exists on the [latest version](https://pandas.pydata.org/docs/whatsnew/index.html) of pandas.

- [X] I have confirmed this bug exists on the master branch of pandas.


### Reproducible Example

```python
import pandas as pd

idx = pd.NumericIndex([1.0, 2.0, 3.0] dtype='int32')
result = idx.insert(1, 4.0)

assert result.dtype == idx.dtype  # <- nope!
```
```


### Issue Description

cc @topper-123 

### Expected Behavior

Should preserve type and dtype

### Installed Versions

<details>

Replace this line with the output of pd.show_versions()

</details>
