Да, нет проблем с тем, что вы предлагаете. Каждый сокет ZMQ работает совершенно не так, как другие сокеты в вашем коде. Часто имеет смысл смешивать протоколы соединений для оптимизации связи так, как вы этого хотите.
Одно из предположений, которое я здесь делаю, состоит в том, что у вашего брокера есть 2 набора сокетов: сокеты, обращенные к клиенту, которые вы можете подключить через TCP, и сокеты, обращенные к работнику, которые можно подключить по другому протоколу. Если и клиент, и работник подключаются к одному и тому же сокету на брокере, они должны подключаться по одному и тому же протоколу.
Единственное, что нужно учитывать, это то, будут ли ваши сотрудники всегда находиться в том же процессе, что и ваш брокер, или он может вырасти до такой степени, что имеет смысл разделить их. Но если вы определяете соединения с сокетами каким-то настраиваемым способом, а не запекаете его в коде, даже это может быть относительно легко исправить, если вы решите что-то изменить.