[ty] Avoid false positive for `not-iterable` with no-positive intersection types (#22089)
## Summary
When checking if `list[~str]` is iterable, we end up looking for a
positive element to satisfy assignability to `Iterable[~str]`. But when
there are no positive elements, we return `false`, rather than falling
back to `object`.
Closes https://github.com/astral-sh/ty/issues/1880.
---------
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>