The property absoluteRotationAngle—which by the way is totally misnamed—reflects as a degree angle the rotation attributes of the object transformation matrix—that is, relative to the parent coordinate space. The transformation matrix in itself does not specify any origin, since coordinates are computed by just applying that matrix, which contains translation attributes. However, you can specify a “temporary origin” when you are applying a transformation (using e.g. the transform method.) In that case it is possible to provide a location—any location—and to apply a rotation relative to that point. The resulting transformation matrix will then reflect the resulting state of the object (rotation, translation, etc.), but the temporary origin used during the rotation is not recorded at all.
Anyway, if you don't deal with explicit transform methods and just want to (re)set the absoluteRotationAngle property, you have to consider the current transform reference point as the implicit origin of that transformation. For example, if the transform reference point is currently the center anchor in the GUI, then the center point of the inner bounding box (in your screenshot, the center point of the brown rectangle) will behave as the origin of the rotation. Indeed, (1) changing only the rotation attributes of a transformation matrix has no effect on the translation attributes, and (2) the center point of the inner bounding box is known to be invariant as long as no translation occurs. By contrast, if the current transform reference point is, say, the top-left anchor, then the rotation will occur relative to that origin; and so on.