Revert "REF: remove special casing from Index.equals (always dispatchto subclass) (#35330)"
This reverts commit 0b90685f4df2024754748b992d5eaaa352e7caa5.

- [ ] closes #35804
- [ ] closes #35805
- [ ] tests added / passed
- [ ] passes `black pandas`
- [ ] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [ ] whatsnew entry

```
       before           after         ratio
     [54682234]       [05c97adb]
     <master>         <revert-35330>
-         293±5ms       3.75±0.2μs     0.00  index_object.IndexEquals.time_non_object_equals_multiindex

SOME BENCHMARKS HAVE CHANGED SIGNIFICANTLY.
PERFORMANCE INCREASED.
```

```
       before           after         ratio
     [54682234]       [05c97adb]
     <master>         <revert-35330>
-      1.44±0.1ms         800±20μs     0.56  reindex.LevelAlign.time_reindex_level

SOME BENCHMARKS HAVE CHANGED SIGNIFICANTLY.
PERFORMANCE INCREASED.
```