Tach!
Es kommt kein Rückgabewert über "rows" zurück. Ich, kann mir das nicht erklären ... oder sitze auf der Leitung ;-)
Das ist Grundlagenwissen zu async-await. Wenn eine Funktion async ist, gibt sie ein Promise zurück. Das eigentliche Ergebnis bekommst du, wenn du abwartest, bis das Promise erfüllt ist, also musst du ein await verwenden.
Und dass es keinen Rückgabewert gäbe, halte ich für ein Gerücht. Ein concole.log() wäre nützlich gewesen, um den Rückgabewert zu analysieren.
dedlfix.