I think it depends on the context of the use, sadly. Strictly, subobject is not transitive, and an object is only a subobject in at most one way (it cannot be both an array element and a base class subobject, for instance), notwithstanding that a virtual base class subobject can be a subobject of multiple objects at once. Most uses of the term seem to use it in that way.
However, there are some uses that clearly intend to take the transitive closure:
* [basic.stc.dynamic.safety]/2.2 intends to allow transitive subobjects (but should probably allow all objects nested within the original object)
* [basic.types]/3's example says "subobject" but presumably means something more general
* [basic.type.qualifier]/1.1, /1.2, /1.3 have ambiguous antecedents and could be reworded to make it clearer that they are transitive ("of such an object" -> "of a const object").
* [basic.start.static]/2 intends to allow transitive subobjects
* [conv.ptr]/3 intends to allow anything in the transitive closure of "base class subobject of".
... and so on. (I'm sure you can find more.)
Feel like filing an editorial issue? We should aim to use the term consistently.