REST and RPC have good uses. But they are not a panacea.
REST has implicit coupling because each HTTP request must have a corresponding HTTP response. Think of this as mandatory coupling from the protocol perspective. This implies that management between a request and its response must be done. (For retry, error, etc.). Whether you wrap that in a future or not is somewhat cosmetic. Web Services and the protocols attached to them are designed to try, as best they can, to decouple requests/processing/response.... but can't separate request and response from the HTTP perspective.
From a higher perspective, HTTP can be made to look asynchronous from the request, response, and processing angles.... at the application level. However, most of the time, this is rarely done. Or done well.
To allow full async communication, the basic communication block must be simplex (1-way) and not have response dependency at the application nor protocol level.
This may seem that we are bashing on REST... and we are... somewhat. Mostly, though, we are bashing how REST is used. More like a hammer and everything is a nail. While in many cases, not nearly everything is a nail. And the hammer leaves a lot of "collateral damage" in the form of coupling and dependency that is unnecessary. For example, an extremely common problem with some systems using REST is throughput being restricted by RTT due to response coupling (application or protocol).