Das ganze funktioniert setzt leider voraus, dass es keinen Unterschied zwischen device pixel und layout pixel gibt. Den gibt es aber! Zwar möchte ich auf meinem Retina Display nicht immer die volle Pixeldichte haben (1600), aber die bessere Qualität von 1200 gegenüber 800 nehme ich dann doch gerne.

Aber wesentlich ist, dass es für deinen Workaround bereits einen standardisierten Workaround, nämlich das sizes Attribut gibt. Aus meiner Sicht wäre es wünschenswert, wenn das CMS gerade bei der Verwaltung unterschiedlicher sizes Attribute für die unterschiedlichen Bild-Format und Bild-Platz - Kombinationen weiterhelfen würde. So wie es aussieht, wird dies jedoch bei dem wordpress plugin nicht gemacht (eventuell wird es Heuristiken geben, welche zu große "Fehler" verhindern sollen.)

Sofern du das ganze für dich verbessern möchtest, solltest du mit deinem Plugin statt der srcset Begrenzung einfach das sizes Attribut einfügen, was in deinem Fall sizes="(min-width: 800px) 800px" wäre. Bei komplexeren Designs mit Breakpoints sowie min-width/max-width kann es dann schon mal etwas komplexer werden und muss entweder manuell pflegbar sein oder kann über lazySizes (data-sizes="auto") ausgerechnet werden.

Ein beta-wordpress-plugin dafür findest du hier: https://github.com/aFarkas/wp-lazysizes