Due External Interrupts

You're totally correct. The prints inside the interrupt functions are purely for demonstrative purposes for this post to show when the interrupt happens in order of events. My actual code only has the boolean value changes. Regardless, if you take the prints out you can still see that 'b==true' is set by an unexpected interrupt from the 'b true' prints.