Custom Split Normals Data broken by Subsurf?
I was able to get around this by baking a normal map from a version of the model with the data transfer modifier on to a regular version of the model without it. Both had subsurf. I then used this normal map in the object's material.

I baked the normal map in Blender Internal as Cycles was giving me artifacts and horribly pixelated results, but I do not know if that matters. I may just have been using the Cycles baker incorrectly. I am using it in Cycles without issue (tangent space for the bake.)

I am still looking for any other solution, as use of a normal map isn't always possible, such as when using normal editing Addons.