In Apache 2.4.17, the priorities of DirectoryMatch directives are determined by the number of slashes (/) in the argument (core.c: dirsection function), but in the case of arguments like ^/[^/]+/a, the number of slashes are over counted and the case have larger priority than the case of same directory depth like ^/b/a. I think it is not appropriate to determine the priorities of DirectoryMatch directives (or should be determined by simply its order).
analysis looks right to me, and impl on the surface seems to conflict with how sections.html describes the merge.