To be honest, I've waited for someone to back up REST's advantage. Thanks for your detailed comment!
What I understand from your point is that REST has a clear, unambiguous API. I agree with you, it's a self-descriptive request and humans can read the request content easily. But in communication between microservices, I don't think that feature won't be helpful. I don't see in which use case humans will need to read the request manually. By adding log at the application level, we could monitor and read the request/response content. Can you show me some examples of the use case?
You also mention ECST as event streaming? I think ECST is about updating clients in such a way that they don't need to contact the source system in order to do further work. How ECST can work as streaming or bi-directional communication?