Die zusätzlichen Kosten müssen darauf zurückzuführen sein, dass Sie die Set-Returning-Funktion im SELECT verwenden -Klausel und nicht im FROM Klausel.
Beachten Sie, dass die Verarbeitung von Satzrückgabefunktionen in SELECT -Klausel in PostgreSQL v10 geändert, daher kann Ihre Version dieses Verhalten beeinflussen.