I am open to using a different method to collect additional data for a transition. For us, the important part is that some transitions should only be triggered programmatically, and others require custom forms (for example, if a user cancels an order, you may want to prompt the agent for why the order was canceled). Another advantage of documenting this in the workflow YAML instead of in code is it makes it easier to see the workflow in one place.
@bradjones1, you said you would want to use this feature request to trigger transition via the JSON:API and therefore didn't want this linked with the Form API. Can you tell me more about your use-case? Perhaps we can find a different way that would work for everyone.