CONST erzwingt ebenso eine Kopie, damit die aufgerufene Funktion den Speicher nicht ändern kann.
Dies ist Sinn und Zweck von CONST.
VALUE arbeitet (fast) genauso, nur dass scalare Datentypen nicht kopiert werden sondern direkt im Stack abgelegt werden (CLLE-Problem).
Bei Zeichenvariablen wird der Inhalt kopiert und ein Pointer im Stack abgelegt.
Die Kopie benötigt dann halt den Platz.