Why can't the Data Transfer Modifier be applied?
The reason is it is influencing normals in a way that Blender does not support by default. So when you apply it the altered normal data is lost.

For Blender to display and store custom normals data Auto Smooth must be enabled with some Custom Split Normals Data:



After you do this you can apply your modifier and it will write the data into the Custom Split Normals Data datablock.

This can be considered as a consistency bug because the Normal Edit modifier does this all for you when you apply it. Feel free to report your findings.

The Object Data or New Shape option of Apply operator is only relevant to modifiers that deform the object mesh (this operator operates for all modifires when you apply them). The deformation is then not written to the objects data but as a new Shapekey.