If you prefer Circumstancing, it will not allow you/its built on applications to circumstance same rule on different property. Also, its overhead during debugging as well. Circumstance should be used in very specilized cases.
Using circumstance always leads to worse code readability and complicate debugging applications. To use circumstances you need to understand why it is very good to use it (i agree with Ravi Prakash Reddy "Circumstance should be used in very specilized cases.").
In option 2. You need create circumstance for pre-activity, not the flow action. I would not recommend in this situation to use it.
In option 1. I recommend use this approach. You can also think about to perform this activity directly on the flow (using utility shape with decision shape), if applicable in your case (#1. There is no need to perform an pre-activity action each time you open the flow action; #2. Activity are business value and can be reflected in the flow)