Parsoid's PrepareDOM pass has commented-out handling for DISPLAYTITLE:
// Set title to display when present (last one wins). if ( DOMCompat::nodeName( $node ) === 'meta' && $node->getAttribute( 'property' ) === 'mw:PageProp/displaytitle' ) { // PORT-FIXME: Meh // $env->getPageConfig()->meta->displayTitle = $node->getAttribute( 'content' ) ?? ''; }
I'm removing this code and the whole PrepareDOM pass, so some other place will have to be found for this, if we want it to start working again.
In the old parser, DISPLAYTITLE is one of a large number of secondary data items that are returned in ParserOutput. I think it would be most efficient to store these kinds of page properties in the DataBag as the meta tags are generated. In a hypothetical future in which template HTML fragments are persistently cached, it may be necessary to scan the fragments for meta tags. But for now, it doesn't make sense to me to generate a meta tag, forget about it, and then search the whole DOM again looking for it.