$MoraleIncrement$ Here the property value is assessed on the source piece, where the GKC trait sits.
{MoraleIncrement}Here the property is assessed on the target piece, where the GKC Key Command is processed.
The key aspect is that the “$” delimiter is determining this behaviour. In the context of GKC “additional properties or “Dynamic Property” fields this applies even inside the beanshell expression. So, here you could also use, {$MoraleIncrement$}
The addition of passed dps like this is, to me, one of the most significant new vassal features. I use it all the time. I can pass arguments! I have found that the safest way to set values is to use both $ and quotes, e.g. {“$value$”}. Sure, I don’t need the quotes for integers, but I’ve had problems with markers, and it won’t hurt no matter what. If you follow this advice, you’ll never go wrong.