Yes, this is expected behavior.
The VSI does not use the values in the MetaData as part of the signature comparison and matching logic. If you want TargetXSD, TargetServer, and FTLEndpoint to be considered use the RDM DPH, see your prior screenshot, and move or copy those headers to the Argument List. Your screenshot indicates that these fields are moving to themselves.
Action = Move or Copy
Source Type = Meta Data
Source Name = FTLEndpoint, TargetService, TargetXSD
Target Type = Argument
Target Name = FTLEndpoint, TargetService, TargetXSD
After changing the RDM in the attachment, rebuild the service so these headers are part of the VSI's signature list, and give it another try with and without headers. You should see different results.
For clarification, just because TargetXsd is copied from MetaData to the Argument list does not mean that the service is going to apply XSD validation. XSD validation is not automatic.