I believe commit f0196dbdc0c9578fd51e8da193b8fe17189a160c broke the ability to specify false for the tag_on_failure option.
I would expect the following configuration to result in no new tags being added on a parse failure:
Instead grok adds a new tag, "false".
I also tried setting tag_on_failure to an empty array, but that fails the config syntax check at startup (which seems odd on it's own).
New config syntax allows empty array so
is now working as expected