This post has the update order using SDK terminology:
The order you have the behaviors is the order they run. The main exception is the pin behavior which isn't run till after the events. The following is the order things are run:
run Behaviors
run Events
run Certain behaviors like pin are run here instead
Draw
Well it's actually a bit more complex than that when considering multiple object types and instances. You generally don't have any control which object type is run first. The order they're added define the order. Usually it doesn't matter though.
For each object type
For each instance
For each behavior except pin
--- run behavior
run events
For each object type
For each instance
For each pin behavior
--- run behavior
draw
In the example you stated the pin behavior should correct object1's position before drawing, so you the bullet behavior shouldn't affect it.