Ah, it took me a while to understand why you'd see that behavior for List<T>, but for IList<T> and IEnumerable<T> it was expected. Let me start by explaining that and then the other reason follows:
The first Customization 'wins', which means that when you have AutoMoqCustomization first, it'll handle requests for IList<T> and IEnumerable<T> since they are interfaces. Moq will return a proxy instance of the requested interface where the
enumerator by default (unless you configure it otherwise) emulates an empty list or sequence. In other words it didn't surprise me at all to see the reported behavior when IList<T> or IEnumerable<T> was requested.
When it comes to List<T> however, it did surprise me a little until I realized that what happens when List<T> is requested is that the MultipleCustomization selects this constructor to create an instance:
With the AutoMoqCustomization coming first, guess how the request for IEnumerable<T> is resolved :)
Switching the Customizations around is the idiomatic resolution to get the desired behavior.