CLN: _maybe_upcast_for_op doesn't need to check timedelta ndarray
The `elif isinstance(obj, np.ndarray) and obj.dtype.kind == "m":` part is ever reached, because just before calling `_maybe_upcast_for_op`, we already did a `ensure_wrapped_if_datetimelike` which basically does the same (codedov also confirms it's not covered). So therefore removing that check.

In addition, moving the Datetime/TimedeltaArray inline within the `if/elif` checks, this gives a little bit less overhead for the non-datetimelike cases.