Solange du nur 1 Schlüsselfeld hast, geht das ja.
Aber was machst du bei mehr als 1 Schlüsselfeld ?
Häufig hat mandantenfähige Software auf jeder Datei mindestens 2 Schlüsselfelder.

SQL kann leider nur 1 Feld mit 1 Feld im Subselect abfragen.
Daher der Umweg über Concat. Und genau hier helfen keine Zugriffspfade es sei denn nachfolgendes kann verwendet werden:

Was die Geschwindigkeit angeht, so hast du nur teilweise Recht.
In deinem Beispiel wird der Subselect pro Satz ausgeführt, in meinem Beispiel nur 1 Mal.

Für weitere Performancegewinne kann man sowohl den Subselect als auch die Where-Bedingung ergänzen:

delete from mytab1
where key1 concat key2 concat key3 ... not in (select key1 concat key2 concat key3 ... from mytab2 where key1=x and Key2=y and ...)
where Key1=x and Key2=y and ...

Für den Subselect wird ein Zugriffspfad verwendet (wegen where) und eine temporäre Tabelle über die Teildaten aufgebaut.
Ggf. wird dann für den Concat-Key noch ein Pfad aufgebaut (hängt vom Release ab).