Always return the shorter `Vararg` length.
The type `var` might be switched during intersection. Thus previous result looks order dependent.
When we intersect 2 `Vararg`s' length, we should always return the shorter one.
As we has consumed the extra elements in `intersect_tuple`.
Also fix #37257
Co-Authored-By: Jameson Nash <vtjnash+github@gmail.com>