Если вы контролируете создание экземпляров сериализатора, просто передайте Type [] с объектом производного типа в качестве extraTypes. В противном случае добавьте
[XmlInclude(typeof(Derived))]
к определению базового класса. Выходной XML будет выглядеть точно так же, как если бы вы передали базовый экземпляр, за исключением атрибута xsi: type с именем производного типа.
Я думаю, это то, что вы просили ...