That topic dates to 2012. EJB3 has been around a while, but I'm not sure it was prevalent (or even available) back then, so DTO's would still have been needed before that.
The other example of "DTO" that was mentioned was as a serialized object for transmission between different environments (multiple JVMs or non-Java services). But I never considered that sort of representation as a "DTO". First, because it's not a
Java object, it's an object converted to XML, JSON, JVM serial format or something other than Java. Secondly, because it's actually rarely good practice to simply shove objects verbatim between processes. Generally, it's more efficient and more secure to transmit only data specific to a given process request.