[clang] Don't lose track of explicit specializations of member function templates (#111267)
When instantiating a class template, we would lose track of function
template explicit specializations, marking them with the wrong
specialization kind.
This would lead to improperly using the explcit specialization arguments
to instantiate the function body.
This also better matches MSVC on the behaviour of explicitly vs
implicitly instantiating these.
Fixes #111266