Thank you very much for your response and clarifications about this subject. The documentation update will be more than welcome as I feel it is a very important observation to be done and the docs should cover it.
I've been experimenting and looking at the Node and Go SDK documentations lately and the most complete code example I found was this one: https://github.com/hyperledger/fabric-sdk-node/blob/release-2.2/test/ts-scenario/config/handlers/sample-transaction-event-handler.ts (linked in the docs at https://hyperledger.github.io/fabric-sdk-node/release-2.2/tutorial-transaction-commit-events.html).
We've changed our gateway object's eventHandlerOptions strategy, pointing to this customized event handler and did some tests locally. The handler appeared to work as expected in these 2 situations: when the transaction completes with success and when the timeout exceeds.
We didn't manage to test under the network we are stress testing yet so we are not sure and don't know if the handler will receive any event in this case. I had the impression looking through source code and documentation is that the event listener is attached to what happens in peers, but in this case it seems that the event listener would need to listen to events and failures that are fired by orderers. But this might be a misunderstanding by myself.
Will keep this topic updated after we run our stress tests again with the customized event handler.