I would try subdivide > displace > decimate (planar with UV's) > data transfer to project vertex normals from initial model to a new one so it would be matching initial normal map. But I never tried it myself in Blender. Not sure the data transfer would cope with normals properly and you wouldn't have to bake normal maps…