You can check if this is the problem of the material, simply drag decal actor on the scene and replace its material with yours.
But In my opinion your code is wrong:
DecalLocation should be something in World Location, not normal vector;)
DecalLocation = HitResult.ImpactPoint;
DecalRotation = (-HitResult.ImpactNormal).Rotation();//inverted normal because you probably want to project decal onto hit actor.
I’ve had issues with my decals being semi transparent in the past before too and would like to know the answer to this question. Maybe try connecting a constant value of 1 into the opacity pin in the decal material? They might default to being slightly see-through