Ein Panel hat schon eine Art Canvas. (an diesen würde man z.B. über .Handle des Panels rankommen)
Darauf zeichnet sich dann das Label.
Ein TLabel zeichnet sich halt immer auf den Canvas seines Parents.
(ist 'ne delphi-eigene Komponente, welche dahingehend "optimiert" wurde)
Alternativ gibt es
TStaticText, welche seitens Windows das ist, was ein TLabel für Delphi darstellen soll.
Darum kann man z.B. auch kein TLabel vor ein TEdit, TButton, TImage legen, weil es sich ja auf den dahinterliegenden Parent zeichnen will, welcher dabei schließlich verdeckt ist.