I wouldn't get too caught up in the guideline of not storing binary files in Git.
The real challenge comes, as you suggested, in diffing and merging these files. If you store them as text, you likely don't need to do anything special here. YAML and JSON are both relatively easy to diff and merge manually.
If it is convenient, store text. This will let anybody diff the files using whatever tools they already have available.
On the other hand, if you are already planning to write your own diff and merge tools (which can be hooked into Git) you shouldn't have too much trouble storing the original binary files.
Storing binary files and using your custom diff / merge tools will require users to have those tools available for diffing and merging.