This is actually something I like to ask potential candidates when interviewing them.
The long and the short of it is that Visualforce is an MVC system. Model-view-controller. If you come from a heavy web development background you're going to be tempted to push as much of the work into the front end as possible as that generally increases the user experience; however, this doesn't quite work with Visualforce for exactly the reasons you mentioned. The data you manipulate on the front end doesn't interact with the data on the back end. This means returning data to the page is not the most straight forward thing to do.
Generally speaking, you "return data to the front end" by updating controller variables and than re-rendering the Visualforce page/components to display the data. This does have the potential for a slightly slower user experience.
You MIGHT be able to help improve the user experience by assuming that your updates to the database are correct. Mimic your back-end behavior on the front-end and process the data all on the front end. Update the database and if it fails, return an error to the user and add a note saying something like "data not saved".
That being said, this could also produce an unfavorable user experience as it may appear that it worked for a moment until they learn it didn't. If they close the page too fast, they may never know that it didn't work.
The short answer is: stop using an FEF. Visualforce doesn't work that way.
Also, look into the apex:status component. You can use this to display a "loading" or "processing" message while the work is committing to the database and the triggers are being fired. Then simply re-render your component.
Everything above applies specifically to Visualforce;Llightning components do not act in the same way. They are designed to perform as much work as possible on the front end to minimize how often you need to reach out to the server. This has many benefits, specifically, reduces resources required on the server and enhances the experience for not just you, but all users on your instance that need those valuable resources. If you are dead set on an FEF solution, use Lightning Components