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