When the output of a module is used in Parsoid, for example in the Visual Editor preview, mw.text.unstripNoWiki doesn't unstrip nowiki tags as it should. This is caused because when using Parsoid, the output type is set to preprocess for the parser, causing it to store the nowiki tags as general tags.
If you have a module (at Module:Test) with the code:
local p = {} function p.main (frame) return mw.text.unstripNoWiki(frame.args.code) end return p
And then you call it with:
{{#invoke:Test|main|code=<nowiki>[[Link]]</nowiki>}}
The parser will return Link whereas Parsoid will return [[Link]]. Loading the page with ?action=raw&templates=expand returns <nowiki>[[Link]]</nowiki> when the expected output would be [[Link]] as the nowiki tags should have been stripped in the module.
Looking at the stripstate, when using the regular parser it has the data
Array ( [nowiki] => Array ( [-nowiki-00000000] => [[Link]] ) [general] => Array ( ) )
But when using Parsoid or ?action=raw&templates=expand it is
Array ( [nowiki] => Array ( ) [general] => Array ( [-nowiki-00000000] => <nowiki>[[Link]]</nowiki> ) )