Damit man nicht suchen muss, kaputte Umlaute finden sich z.B. hier:
Hallo Welt!
Wenn man im Browser auf ISO-8859-1 umschaltet, sind die Umlaute korrekt. Ausgeliefert wird die Seite ansonsten korrekt als UTF-8, HTTP-Header stimmt, Meta-Angabe stimmt. Und Du sagst ja, dass die DB auch immer schon UTF-8 war.
Es kann vorkommen, dass Plugins die Umlaute zerstören, wenn sie z.B. PHP-Funktionen benutzen, die UTF-8 nicht unterstützen. Wenn es daran liegt, müsste das Problem verschwinden, wenn Du alle Plugins ausschaltest und auf das Standard-Theme umschaltest.
Andererseits gehen dabei normalerweise die Umlaute komplett kaputt, während hier ja nur irgendwas die Umlaute in der falschen Codierung ausgibt. Da wird im Theme aber nicht etwa eine komplett eigene Query unter Umgehung der WP-Dateien aufgemacht oder? Ansonsten würde ich an Deiner Stelle nochmal sicherstellen, dass die Datenbank tatsächlich UTF-8 benutzt. Welche MySQL-Version ist es eigentlich?