It appears this is not possible via reflection unless you are willing and able to change the original source to impose an order via an additional annotation or attribute of an existing annotation.
It is possible, however, during annotation processing. The documentation for TypeElement.getEnclosedElements()
] indicates that
the list of enclosed elements will be returned in the natural order for the originating source of information about the type. For example, if the information about the type is originating from a source file, the elements will be returned in source code order [emphasis added].
To make this available at runtime, you need to process the methods with the annotations and store somewhere that will be accessible at runtime (e.g a generated resource file).