After extensive research today I have found where the actual delay comes from.
To start off, simply disregard all the above, as it doesn't cause the delay at all.
What causes the delay is the emitting of the CHAT_GET_TRIBE_HISTORY. This occurs every time when a player changes village due to the fact that there is a listener to the 'DONE' event, which is also broadcast whenever a village has been loaded.
The reload of the chat history isn't needed in the first place, as it is already loaded and additional new messages are received in a different way.
A solution for this problem is to change the 'DONE' event, or simply add a boolean to check if chat history was already loaded or not, if not, it should emit the request, otherwise it should simply do nothing at all.