Does this mean that a smart list with Member of Engagement Program set to true and adding the Constraint of the Stream, doesn't work?
If it does, why can't you create two smart lists:
Smart list 1 - Member of Engagement Program (in stream 1)
Member of Engagement Program AND not in smart list 1?