PERF: better use of searchsorted for indexing performance 
Follow-up on https://github.com/pandas-dev/pandas/pull/14551

When searchsorted is used (eg as `labels.searchsorted(loc)`), it is important that `loc` is first cast to the same dtype as `labels` for performance reasons.

PR https://github.com/pandas-dev/pandas/pull/14551 fixed one such example, but further actions:

- check the other usages of `searchsorted` for this pattern
- add benchmarks to track the improvement

