During testing, discovered that a few wikis (plwki, arwiki) weren't respecting the useparsoid flag and returning legacy parser content when not logged in. While logged in, there was no problem. @Arlolra dug around and eventually hypotehsized that this might be FlaggRevs wikis and sure enough, dewiki, ruwiki also had the same problem.
I am not familiar with the FlaggedRevs extension, but I dug around the source and here is what I found so far:
Article::view in core calls the onArticleViewHeader(..) hook and if that returns a parser output, view() bails and uses the object it gets there. FlaggedRevs implements ths hook in frontend/FlaggedRevsUIHooks.php. This implementation calls setPageContent() in frontend/FlaggablePageView.php which "Replaces a page with the last stable version if possible " according to the doc in the header. Presumably logging in lets us view the unstable version which is why logging in works.
setPageContent() calls showStableVersion() which effectively calls FlaggedRevs::parseStableRevision() which parses the page there.
So, all the useparsoid() code in core is bypassed here.
So, we need to dig into this and make sure FlaggedRevs get ParsoidParser object when useparsoid=1