You need to remove the quote marks from the second token from the crontab entry. The way the command is interpreted by cron, is that it is looking for a file that is named "/usr/bin/flatpak run org.freefilesync.FreeFileSync" (excluding the quotes). That is, a file with those spaces in the name. If it found that file, it would then try to execute it. That would be quite an unusual filename! The difficulty lies in the interpretation of the contents of the file. Double (and even single) quote marks cause everything inside to be interpreted a particular way, but certainly everything a pair of quote marks will be seen as one item. And that first non-variable (non-equal-sign token) is the binary that cron wants to execute.
If your cron entry looked like:
DISPLAY=0 /usr/bin/flatpak run org.freefilesync.FreeFileSync "/home/parkernathan/Documents/WebMate-Documents.ffs_batch" 1>>~/ffs.log 2>&1
Then cron would find the /usr/bin/flatpak, and then pass these parameters to it. The double quotes around your path to the .ffs_batch file are fine, because that is indeed one file. And if you had a space in the directory names or filename, the quotes would protect the space and prevent the space from making the two parts into two separate tokens.
Welcome to the world of Linux shell parsing of spaces!
I always fail with the details of the DISPLAY variable. If it works for you to set =0 then that's great! I would have expected that DISPLAY=:0 would work. X11 displays tend to use the syntax ":0" for the first (or zero-indexed first) display server. Sometimes ":0.0" if there's network stuff going on iirc.