It got interesting and I've found a workaround for the issue. display of ZWNJ as SPACE or any other character is matter of font. Different fonts uses different characters. Default Emacs font shows '[' instead of space which is better and more readable at least.
The only minor problem I've seen so far is the irrelevance of displayed character (shown as ZWNJ) to the 'glyphless-char-display-control' for Persian alphabet.
I've attached a screenshot which shows different behavior of display for both English and Persian at the same time. I execute `emacs -q` to launch default Emacs. Then I open Test.text sample attached in previous emails. Set the `glyphless-char-display-control` to show hex-box. It's clearly shown that The English one is replaced by a hex-box but the Persian one with a '[' (or SPACE). No matter what the 'glyphless-char-display-control' the Persian case shows same character.
Note, To type the ZWNJ for the English text, AB, I used Persian input (A, switch keyboard layout, SHIFT+Space, switch back to English, B). So when I put ZWNJ between the AB it's shown as hex-box (and affected by 'glyphless-char-display-control' as expected) but when I type it between Persian characters it's shown as fixed '[' or 'SPACE' (font based) no matter what the glyphless-char dictates.
Best Regards,