Calling Publish on any ServiceClient simply sends the message to the /oneway HTTP Endpoint which by default will publish the message to the registered MQ otherwise will execute the request with the HTTP Endpoint.
You can intercept published messages by overriding PublishMessage in your AppHost where you can decorate the MQ Message to specify a priority which will send it to the PriorityQ, e.g:
public virtual void PublishMessage<T>(IMessageProducer messageProducer, T message)
{
if (message is IHasUrgent hasUrgent && hasUrgent.Urgent) {
messageProducer.Publish(new Message<T>(message) { Priority = 1});
} else {
messageProducer.Publish(message);
}
}