The problem here is that the technique used for this (checking is
{{REVISIONID}} expands to nothing) really checks for "is this not a
saved revision", rather than "is this a preview". In my opinion the
entire thing is a bad idea and a huge hack and just asking for
problems, like you just discovered. An example using this technique
is Template:If preview [1].
You might be able to work around this by using TemplateSandbox [2]
features to "replace" problematic templates/modules by ones that do
nothing, or "return false". For example, this works for your query by
overriding Module:Check for unknown parameters to do nothing [3]:
https://en.wikipedia.org/w/api.php?action=parse&format=json&preview…
(
http://tinyurl.com/ycwgyljq)
But this is obviously inconvenient, since you need to manually find out
where the output comes from, and would eventually need to implement this
for many templates/modules.
[1]
https://en.wikipedia.org/wiki/Template:If_preview
[2]
https://www.mediawiki.org/wiki/Extension:TemplateSandbox
[3]
https://en.wikipedia.org/wiki/Module:Check_for_unknown_parameters
--
Bartosz Dziewoński