The sentence is defining the term subobject as being one of: a member subobject, a base class subobject, or an array element.

Your snippet has nothing to do with subobjects. r is a reference, not an object. Moreover, it doesn't even refer to an object, it simply aliases the first byte of i.

From [intro.object]:

An object is created by a definition (3.1), by a new-expression (5.3.4), when implicitly changing the active member of a union (9.3), or when a temporary object is created (4.4, 12.2).

i is an object created by a definition. As int is not a class or array type, it has no subobjects. The object representation, the underlying array of unsigned char that constitutes the storage of i, is not an object - it's not created in any of those contexts described above. The wording of the definition object representation is the subject of core issue 1701 (h/t T.C.).