Hello James,
Thanks for asking the great question! You're indeed right about 90%.
Meta Box uses WordPress standard way to store post meta. So it should work in most cases as normal custom fields for FacetWP.
However, there are 2 cases that we need to handle: clone and multiple fields, as you can see in this code: https://i.imgur.com/ONbJioO.png
The reason is clone values is saved as serialized array in the post meta, thus, it's not the standard WP way. Actually, WP doesn't have mechanism to save such kind of data yet. So, we have to find a way to work on that. Because FacetWP doesn't process serialized array, we have to do that.
The other case of field with multiple values, although it's the WP's way, but I still pull all the data just for sure.
So, if all of your fields (or the fields you want to filter) is just normal / uncloneable fields, you can just use FacetWP without any problem. In other cases, the extension will help.