We currently recommend users configure the YAML fact cache when enabling PDB (and we do this configuration for them in PE). We are currently adding a JSON terminus for facts (see PUP-10656) and in Puppet 7 we should switch to enabling it (if we enable any fact caching).
One gotcha to watch out for is that symbols are not preserved when round-tripped through JSON. I assume that will not bite us with facts (since the agent sends them as JSON by default on the wire), but it did bite us on the agent when storing resource parameter names in its transactionstore cache, such as :ensure.