I tested this thing with rule based traits. I created two rule based traits, and then two segments using both the traits. Segment1 uses Trait1 AND NOT Trait2, and Segment2 uses Trait1 AND Trait2.
I then used signal of Trait1 for a new visitor so that it gets qualified for Segment1. Then I accessed another page on that site that used an event to get qualified for Trait2. It was working on real time basis, that visitor went out of Segment1 and got into Segment2 upon getting qualified for Trait2.
So, the sequence you explained is correct.
Also, please note that this is a way to unsegment a user from a segment in real time, but there is no way to unrealize a user from a trait on real time at present.