Bug closed.

Dan Popescu say :

This happens because a timeout is required to check if the blur event in QField and derived components will not be followed by a refocus on the same component.
If you need to have the exact order of events, but with possible duplicated events then you can listen on @focusin and @focusout.

Example here: https://codepen.io/pdanpdan/pen/YzPaZPm