UV tangent seams issue

I need some help with identifying what is going wrong here. Now I’ve read tons of posts on normals, tangents and binormals, whilst trying to solve this one but cannot find anything that works for me on this particular model. This material has a simple flat normal texture applied which is then exaggerated here via a negative value in flatten normal node. I’ve done this to show the issue more easily.

To confirm this is a small part of an imported CAD model that looks great if no normal maps are applied as can be seen here. So the models normals are good. I’m not baking a high poly model to a low poly model or anything like that because it isn’t required.

The UVs are packed like this for a reason, mainly due to time. The CAD data imports into 3DS max as a bunch of models that have several individual surfaces (not welded) but all with UV coords (individual islands as you can see). I then simply packed the UVs and I’m doing all the texture painting in Substance Painter. The process works great. It’s quick and easy to process several large sets of CAD data models.

I know the orientation of each of the UV islands makes a difference and changes the outcome but with some many islands I cannot go through them all, flipping rotating till they all match.
The problem is something to do with the tangents not aligning or not being calculated properly and how they affect the exaggerated normal map (even though it is flat).

I’ve tried exporting the tangents and binormals via the FBX exporter from 3DS max, along with recomputing the tangents inside UE4 but neither of them work.

Any advice would be much appreciated.