Your muzzle is clipping through geometry. Collision hulls do not block from the inside. Exterior only.
Traces are doing their jobs correctly. Quick solution is to add a collision component to the muzzle area.
World Dynamic, Overlap all except camera/visibility.
Begin overlap: isblocked(true)
End overlap: isblocked(false)
Branch (isblocked)[false] → do trace