You should ensure that Xdb.Tracking.Enabled
is enabled:
<!--
XDB TRACKING ENABLED
Determines whether tracking is enabled or not.
Default value: true
-->
<setting name="Xdb.Tracking.Enabled" value="true" />
It's entirely possible to set Xdb.Enabled=false
whilst keeping the above setting enabled, the two are not required to be the same. Keeping tracking enabled allows "in-session" personalization to take place. You can read more in the official documentation or this other StackExchange answer.
I have not seen any official sources about WFFM and a requirement for Tracking to be enabled, but from experience have noted various issues with WFFM if this is disabled, including the warnings in the logs and the Rules section not being enabled on fields (it's possible to run Rules based personalization based on in-session even with Xdb being disabled, but in this case the related setting makes sense).
Additionally, the fix you have implemented is checking that Xdb.Tracking.Enabled
is not set to true.
You could also disable Dropout Tracking. Select your form in the Content Editor, and then select Properties from the Forms tab:

This should be disabled by default when you create the form when Xdb is disabled, but if you are packaging up items from another environment where Xdb is enabled then that could cause the xhr errors you are seeing. In an ideal situation, your environment architecture should be as similar as possible.