It DOES (and in fact it’s the default options behavior, it has to be explicitly disabled) but only in a specific circumstance, which where a second context of higher priority is applied over the first. If two contexts are added/removed in tandem this does not work.
e.g. if you have a base input context which has some function for LMB, and you use Add Context when near an object to add the “object interaction” inputs which overrides LMB, you will get the functionality you described. LMB will not be considered a valid input in the interact context until released. And this will work in reverse; if you have an interact context active and press LMB, then remove it, it will not register the “base context” input until released and re-pressed.
But suppose you have two distinct contexts: the first is “sword mode” and the second is “bow and arrow mode”. There may be bow and arrow mode functions not mapped to any sword mode inputs or vice versa, so you don’t want to just apply one on top of the other (otherwise some sword functions will still be callable in bow and arrow mode, say, if bow and arrow mode does not have any inputs mapped to those functions) but some inputs may be in conflict so they require separate input contexts. So the sensible solution is to “remove sword mode” and “add bow mode” when you swap weapons. However, if you do this, you will run into the issue I described, because one input context does not override the other, it replaces it.