it doesn’t work with gravity forms using ajax because the shortcode find/replace logic confuses inline javascript arrays with shortcodes and removes them.
specifically the array on gravityforms/form_display.php:971,
observer.observe( document.body, {
attributes: true,
childList: false,
subtree: true,
attributeFilter: [ \'style\', \'class\' ], // THIS ONE HERE
});
which causes the javascript to error and submissions POST successfully but nothing is done with the response itself.