This is a big question, and it deserves a big answer.
An ESB can handle synchronous or asynchronous requests, and messages are typically used asynchronously.
However, your theory of backend implementation is pretty wrong.
JAX WS web services can run directly in the EJB or EAR bank and can do this on any application server. EJB can queue a message or even be asynchronous.
You should not forward requests to the ESB, but vice versa.
The ESB must relay and translate requests and responses between clients and the backend. One of the big ideas with the ESB is that if the backend changes the client, he does not know or care, as their contract with the ESB is not a backend.
All of this suggests that if your application already exposes web services, you probably don't need an ESB, and remember that there is no RIGHT or WRONG way to do something.
I suggest you write a more specific question that covers your specific problem, you will probably get a lot of tips on how to solve it.
UPDATE
You also get message-driven EJBs that really allow EJBs to connect together on the bus like a mod.
ADDITIONAL UPDATE
Thus, one scenario when I use the ESB is if I need to expose non-standards-based services on legacy systems as a SOAP service. However, keep in mind that you should also use a data dictionary for your organization, which will increase the likelihood that services open by the ESB may remain unchanged even if your old system is replaced.
So, as a concrete example, an organization should define in its data dictionary what a client object looks like, ESB can provide a service for retrieving a client. The ESB will make some calls based on an outdated system and then convert the result. If the backend system in which clients are stored is changed in the future, the open ESB service may remain the same, and you just need to update the backend call and conversion.
Now, hopefully, with that in mind, the next bit will make sense. All this is possible with the help of a "traditional" ESB, such as a JBoss ESB or Mule ESB, but it is also possible to use EJB + Camel (or other things).
The advantage of ESB is the presence of connectors, listeners and transformers. However, if none of the functions from the window help you, then there are very few differences in the direction you choose.
An advantage in the home development of your ESB would be ease of maintenance, it is much easier to find a resource that knows EJB well and can quickly learn Camel if necessary, than find a specialized ESB resource or train a resource.
I hope this helps!