What happens when you do std::array a{45} such that the variadic template argument is empty and T is an int? Is this deduction guide even used in that case? And if so, what is the result of is_same_v<T,U> if the variadic U argument is empty?
In a fold expression of length of 0, such as is_same_v<T, U> && ..., the result when passed a pack of length zero is true. So yes, the deduction guide still works even in this case, and there is no result for is_same_v<T, U> since that is never instantiated.
The overall result for your example after substitution would be something like