Es wird immer die identische ID gezogen und nicht das angegebene PK Feld (MASTER).
In der FireDAC Doku steht der Satz:
"DetailFields wird nur beim Einfügen eines neues Datensatzes in eine Detaildatenmenge zum Zuordnen von bestimmten Feldwerten verwendet. In dem Mechanismus, mit dem die Datensätze der Detaildatenmenge gefiltert werden, wird DetailFields nicht verwendet."
Zum Filtern ist es also völlig egal was man dort einträgt. Zu finden unter Delphi Hilfe Indexsuche nach "FireDAC.Comp.Client.TFDQuery.DetailFields"
Das erklärt die Problematik.