It looks like Avaje Inject will solve some of our jlink issues -- by using jakarta.inject and being fully modular.
We should be able to create a new module that implements the FXLauncher interface using Avaje Inject. If we do that (and switch to a modular logger API) we may be able to build apps without doing the extensive reprocessing of JARs with the Badass Jlink Gradle Plugin.