Bei mir ist genau das gleiche Problem aufgetaucht - der Prozess war schleichend, erst gingen vereinzelte Kategorien nicht und nach einem cache:clear und dal:refresh:index ging die ganze Seite nicht mehr.
In der Datenbanktabelle, “product” werden die Preise in der Spalte “price” mal in Anführungszeichen gesetzt, mal nicht.
Ich konnte mir behelfen indem ich die Tabelle “product” als SQL-Dump exportiert hatte und im Editor mit Suchen & Ersetzen die fehlerhaften Einträge korrigierte.
Falls es jemanden Weiterhilft:
'{\"net\": \"' Ersetzen durch '{\"net\": '
'\", \"gross\": \"' Ersetzen durch ', \"gross\": '
'\", \"linked\"' Ersetzen durch ', \"linked\"'
Ich habe das selbe Problem. Ich habe sogar alle Produkte aus dem Shop entfernt und neu via Sync API importiert -> Preis wird weiterhin als String gespeichert.
Update: Die Preise waren bei mir mit 10 Nachkommastellen. Ich runde sie nun vor der Übertragung zu Shopware auf 2 Nachkommastellen, dann werden Sie ohne Anführungszeichen gespeichert und es funktioniert wieder alles. Das ist wohl ein Bug.