Bueno pues ya lo he arreglado.
Digo la solución por si a alguien le sirve, solo había que llamar al método setUnicodeNormalizationFormC de la clase Serializer, pasandole true como argumento, antes de escribirlo en el fichero, y guardarlo como utf-8 en vez de iso-8859-1. El segundo bloque de código, el que daformato y guarda en el fichero, quedaría así:
Código PHP:
Document doc = new Document(rss); // rss es el elemento raíz
FileOutputStream fichero = new FileOutputStream("feed.rss");
Serializer output = new Serializer(fichero); // se utiliza el charset por defecto utf-8
output.setIndent(2);
output.setUnicodeNormalizationFormC(true); // este es el método que faltaba
output.write(doc);