I can understand your theory, but why the same doesn't work like this in zenMethod?
When I change the code to the following

Class BZ.Test1 Extends %ZEN.Component.page
{
    ClassMethod DoIt() [ ZenMethod ]
    {
        Write "Test1",!
    }
}

Class BZ.Test2 Extends BZ.Test1
{
    ClassMethod DoIt() [ ZenMethod ]
    {
        Do ##Super()
        Write "Test2",!
    }
}

Class BZ.Test3 Extends BZ.Test2
{
}

When I run "do ##class(BZ.Test3).DoIt()" I get only

Test1

Test2

Here "Test2" is not output twice.