Ich hab's rasch auf einem meiner Webserver gecheckt.
Wie vermutet: Speichere deine Webseite statt mit Codierung
ANSI mit UTF-8 ab, dann werden die Umlaute korrekt angezeigt, d.h.: Lade die Webseite in einen Editor [wenn du ein neueres Windows hast, geht's auch mit dem "normalen" Editor von Windows], wähle Codierung UTF8 und speichere die Seite wieder ab. Lade sie hoch - und staune

.
Wenn du keinen Zugriff hast auf die Webseite dann müsstest du die heruntergeladene Seite umcodieren [Ich weiss, es gibt direktere Wege

]:
hs := TStringList.Create;
hs.LoadFromFile( webseite, TEncoding.ANSI );
hs.SaveToFile( webseite, TEncoding.UTF8 );
und dann klappt es auch.