My interpretation is you are not interested in weaving any classes that are provided by the server, so the basic requirement is to be able to do your integration before any processing of your deployment starts.
A possibility is to use some hooks we've added in WildFly 11 that allow you to register listeners for process lifecycle events:
The problem with using either of these to do your registration is the events are asynchronous, so the server is moving on with boot while your code is getting the notification. So you would have a race between your code setting things up and the boot moving on to deployment.
A hacky workaround to that is to start the server suspended (also new in WF 11, done via e.g. bin/standalone.sh --start-mode=suspend) and without the deployment in the config (if with it there but not enabled). So you get the notification and do your stuff, and then add or enable the deployment and finally use the CLI ":resume" operation to bring the server to normal state. But, then you'd have to reverse that when stopping or reloading the server.