Encountered the same issue, submitted a fix here: https://github.com/AdvancedCustomFields/acf/pull/588
There’s a temporary workaround you can use though. Run this before each call to rest_do_request()
:
// set URL as "rest_route" in global WP query_vars, e.g. "/wp/v2/posts/919"
$GLOBALS['wp']->query_vars['rest_route'] = $url;
// re-initialize the ACF Rest Api class
acf_get_instance('ACF_Rest_Api')->initialize();
// now, call rest_do_request
rest_do_request($url);