"In your example with the message broker and waiting for a response you mentioned that a WebSocket solves this problem, but I don't see how." Of course you always need to correlate, but Webscoket allows you to decouple invocation and execution (i.e., event driven architecture) across two separate microservices. You can implement invocation using HTTP, and webscoket can deliver execution response. You don't get to do this using SSE, as the request and response/updates (invocation and execution response) should happen within the same microservice. Look at this architecture for instance, you cannot implement it using SSE. https://aws.amazon.com/blogs/compute/from-poll-to-push-transform-apis-using-amazon-api-gateway-rest-apis-and-websockets/
So yes, backend architecture will definitely affect the choice between websocket and SSE.