[ADT] Use list-initialization for returning pairs (#160238)
In C++17 and later, "return {A, B};" guarantees copy elision for a
std::pair return type, ensuring the object is constructed directly in
the return slot. This patch updates those instances under ADT/.