All $$identifier does is stop a command from being executed if $$identifier is empty. It has no idea about events, other scripts, return/halt, etc.
That's indeed what we expect as well (except that I would not say 'command').
2. incorrect behavior from typing anything in any editbox, within :INPUT: $$chan generates identifier warning
So, inside the on input event, if the active window is a channel window, then $chan is filled with the value of that channel. $$chan should return that value as well but it's not. Instead, it's looking for custom aliases named 'chan' and if one is found, that alias is called, if no alias is found, you get the warning (if you have that option set only, btw) about $$chan not existing, rather than $chan not existing, that's totally incorrect then, $$chan should return the correct value here, and it should halt the script if the on input is triggered when the active window is not a channel.
on *:input:*:echo -s > $$chan