I think I understand. The %TriggerValue% value is not "erased" when a macro is called. Indeed you are right, it can inherit its value from the PREVIOUS macro or mechanism that called it.
I think you will need to convert your macro to a subroutine trigger, and in that case you can determine what you want to determine, because then you can avoid this mechanism. I remember a long thread about this topic years ago.
Alternately, you can just check if the TriggerValue token "looks like" a hotkey or not.