Hey Typically when I bake my guns, I just rely on the basics, AO and Normal and a cavity map converted from the normal. A while ago I did the swap from single smoothing group baking (no cage, only ray distances in xnormal) to cage + smoothing groups + SG UV splits. Of course, when you bake this method, the hard edge is…
How are you generating your curvature map? If you're generating it from the normal map post-bake it's normal that you get poor results. Why not bake out the curvature information directly from your hipoly in xNormal for example? That will give you a perfect result normally.
Do you have some examples of how hard edges are visible with hard edges vs soft? There shouldn't be any difference in how a curvature map is baked either way. What are you using to bake the curvature map?