How to edit a split vertex normal without affecting others? I apologize for the long post ahead, but please bear with me:

I am facing a problem which, after transferring normal, I want to edit split vertex normal to fix shading on a particular face, but avoid modifying other normals on the same vertex.

To illustrate the issue:

STEP 1: I transferred normal from this cylinder onto an arc of its piece (so that the shading is smooth when we put multiple of these arcs together.)



STEP 2: as we can see, while the top/bottom/front/back sides of the arc are now shaded smoothly, the left/right sides of the arc will shade badly, mostly because the cylinder doesn't hard edge/faces along the same sides.



STEP 3: we know splitting the edge (aka setting hard edge) will give us more vertex normals to work with, BUT, because Blender use "Auto Smooth" to display custom normals, doing so cause it to recalculate the normal, which defeats the purpose of transferring normal in the first place.



STEP 4: so I tried setting hard edges + Edge Split modifier before normal transfer, it got the hard edge sorted, BUT I still need to set the vertex normal, and importantly, 1 vertex normal from each split vertex, to be the same as face normal.



STEP 5: This is where I got stuck, I don't know how to do that without affecting the other 2 normals on the same vertex. I know they are different vertices rendering wise, BUT Blender's normal tool doesn't know that.



STEP 6: also note that, because Blender's Data Transfer modifier depends on Auto Smooth, even if I have applied Edge Split modifier beforehand, the transfer only store custom normal data for Auto Smooth mode! (these 2 objects are identical, the only difference is one has Auto Smooth enabled).



Thank you for reading this far, so my issue comes down to:


I want to transfer normal data.
I also want to edit normal after transfer.
BUT normal transfer (Data Transfer modifier) depends on Auto Smooth.
AND Auto Smooth by definition doesn't split vertices, so I can't edit normal individually.
AND I can't set hard edges or use Edge Split after transfer as they will modify other normals.


I am in this circular dependency hell, please help!
In hindsight, it all comes down to order, you need to:


Set hard edges + Auto Smooth before Data Transfer modifier.
After transferring the normals, apply Edge Split modifier (to hard edges only)
Then select the faces with incorrect normals and set their vertex normal to face, since vertices are split properly, it won't affect other existing normals.