That's because setOrigin and setPosition are different functions. the origin is the point which is moved to the position given to set position (which is a position in global coordinates). setOrigin moves the point around which the circle moves to a new point (in local coordinates). i.e. setOrigin (0,0) means that the shape will rotate and scale around the top left corner. It also means that when setPosition is called, the point that is lined up with the position passed to setPosition is the top left corner.What you are doing is setting the origin the 400 to the right of the top left corner of the circle and 300 below it. You then line that position up with the point 400,300. This is why the circle itself appears in the top left corner. I hope that made sense, but I'm not sure I explained it very well.
EDIT: To answer the original question, you should set the origin to (width/2,height/2) because that is the centre as coordinates start at the top left.