__mh_(execute|dylib|dylinker|bundle|preload|object)_header are special symbols whose values hold the VMA of the Mach header to support introspection. They are attached to the first section in __TEXT, even though their addresses are outside __TEXT, and they do not refer to code.
It is normally harmless, but when the first section of __TEXT has no other symbols, __mh_*_header is considered by the disassembler when determing function boundaries. Since __mh_*_header refers to an address outside __TEXT, the boundary determination fails and disassembly quits.
Since __TEXT,__text normally has symbols, this bug is obscured. Experiments placing __stubs and __stub_helper first exposed the bug, since neither has symbols.
Use yaml2obj to create the test file. A prebuilt binary is difficult to inspect/modify.