In the first render output below it seems the virtual surface of the normal map is calculated to behind the camera. I only have this bug on convex surfaces.
However in both render outputs it seems the surface of the normal map is floating above the original texture. It duplicates the surface instead of replacing it.
Your heightmap should be inside the fourth channel (Alpha)
that is it’s A inside of RBGA texture. First 3 channels are used for a normal color, foruth one stores heightmap.
Do it in fotoshop by accessing Channels tab, creating a fourth channel and pasting your heightmap into it.
Afterwards, save the whole texture as .tga (Targa) with 32bit (highest)