Attaching a decal to a mesh's surface (and not to a bone/socket)

Skeletal/skinned meshes like to move around a lot, and because of that I am attaching the bullet impact/wound decals to the closest bone of that mesh.

The current code:

FName BoneName = SkinnedMesh->FindClosestBone(Position);  

UGameplayStatics::SpawnDecalAttached(ImpactEffects->Decal, ImpactEffects->DecalSize, ImpactResult.Component.Get(), BoneName, Position, Normal.Rotation(), EAttachLocation::KeepWorldPosition);

(Sidenote: ImpactEffects is a custom DataAsset that contains information about the decal material, size of the decal and a few other things that aren’t relevant to this question)

The problem with this approach is that the decal is attached to the bone and not the surface of the mesh. This causes ‘texture swimming’ issues because the decal slides across the surface of the mesh depending on how the weights are distributed for that bone.

I was wondering if it is possible to attach the decal directly to the surface of the mesh. Like a vertex or polygon?