Decals thickness and following mesh

At the moment you count the rays (that hit), not the decals. If you count down at the queue_free() here, it would be in the same frame.
You add the decal to the collider. So it’s not part of your extended raycast.

How does the decal get removed? At that point you would have to count down.
I would count the decals in the master script. And would send a signal on added and removed decal. And would give the projectile the information of the current decal count, Just for the name.
Maybe a little bit over complicated. And I can see some edge cases where the count could get messed up.

EDIT: As an alternative, you could store the amount in a singleton. Maybe there are better solution (hopes that someone jumps in).