The linked document is not normative. In some sense it seems to describe what prvalues ought to be, rather than what they were at the time. In C++17, it became true that prvalues have no identity---but in C++11 and C++14, it was not quite so.
In C++11 and C++14, a prvalue of class type does have an identity, because, as you've observed, it's possible to call a method on it, and there are also ways to observe its address. Similarly, prvalues of array type have identity. Prvalues of scalar type (e.g., integer literals) do not have identity. Binding them to references will cause the materialization of a temporary object, which now has an address but is no longer observable as a prvalue.
In C++17, prvalues have no identity, and are not temporary objects, but are instead expressions that can be used to create temporary (or non-temporary) objects. Moving from a prvalue to an object effectively "invokes" the prvalue. A temporary object is only observable as an xvalue.