Expand more Vararg elements during re-intersection if valid. (#46604)
Our type intersection "prefers" `Tuple` with more parameters.
This PR tries to replace `Tuple{Vararg{T,N}}` with
`Tuple{T,T,T,Vararg{T,N}}` during re-intersection if we can prove that
`N >= 3` and `N` is used only for Vararg length.