I didn't see a quick answer in the documentation, but it turned out to be quite simple;

The ServiceResource just forwards the call to the Service.

MyRequestService creates a MyJsonResultSupplier and delivers this to the Mutiny Uni with method item(). The resulting Uni is returned to the ServiceResource.

Mutiny uses method get() on the Supplier for a MyJsonResult. The call blocks with an acquire on semaphore mMyJsonResultSupplierSemaphore. Next, another worker thread calls method ready() which sets mMyJsonResult and releases semaphore mMyJsonResultSupplierSemaphore unblocking method get() towards Mutiny.
Mutiny completely hides the reactive part of the story, so you can just block on a method call within a registered supplier.