REF: Simplify __getitem__ by doing positional-int check first
This gets rid of the last non-test usage of `Index.get_value`, so that can be deprecated, xref #19728

This focuses only on `__getitem__`; `__setitem__` is tougher for a few reasons, including #33469.
