EMU8086 has a bug / flaw. Your interpretation of how the directive works =is correct :
Integers defined with the = directive can be overridden with a different value in the source code, but those defined using EQU cannot.
If you compile it using MASM or TASM, the code should work as you expect, showing 6instead 8.
EMU8086 , , . , , .
EMU8086, ; ; BIOS DOS Int 21h . 32- 64- , , , . EMU8086 - , - .