*Ausgaben* per echo, print, etc. erscheinen normalerweise immer an der "Stelle", an der sie ausgeführt werden - also bei dir zu dem Zeitpunkt, wo du deine Funktion aufrufst.
Deshalb gilt die Faustregel, dass Funktionen keine direkten Ausgaben machen, sondern Rückgabewerte liefern sollten. Diese lassen sich dann an der aufrufenden Stelle in Empfang nehmen, und später weiter verarbeiten, bzw. auch ausgeben.
Wenn niemand irgendwas daran ändert, müsste das Echo die Ausgabe aber immer an derselben Stelle rausfeuern. Warum die Ausgabe vorher jedes Mal an einer anderen Stelle war ist dennoch nicht nachvollziehbar.