Try using a gating method such as “do once” once you’ve successfully filtered out unwanted hits to limit the amount of hit processing.
The other strings are probably not printing because you’re not hitting the right surface type. Hang some specific print strings off the default and carne types to see if they are being hit instead (if default comes up there may be a problem with your setup - perhaps a PM is being over-ridden somewhere) and debug from there.