Found the problem, error message isn't very obvious about this. The event handler on viewmodel has to match the definition of the target method in the xaml. In this case, the issue was fixed by modifying the xaml as following:
<cal:ActionMessage MethodName="OnDropQuery">
<cal:Parameter Value="$source" />
<cal:Parameter Value="$eventargs" />
</cal:ActionMessage>
I also had to remove cal:Action.TargetWithoutContext="{Binding Source={x:Static RelativeSource.Self}}"