dds communication issues

I’m unable to get dds communication up and running on a balena machine with a tunnel interface (zerotier).

Both my laptop, an ubuntu server as the balena device are connected to the same zerotier network.
(Setup like this: GitHub - synapzlu/balena-zerotier: Fully working ZeroTier container with LAN bridge setup for Balena Cloud. Great introduction to Software Defined Networking.).

On my laptop I run a dds listner (using a ros2 node):

docker run --rm -it --net=host ros:humble /bin/bash -c 'apt-get update -qq && apt-get install -qqy ros-humble-demo-nodes-cpp && source /opt/ros/humble/setup.bash && ros2 run demo_nodes_cpp listener'

On the server I can run a talker:

docker run --rm -it --net=host ros:humble /bin/bash -c 'apt-get update -qq && apt-get install -qqy ros-humble-demo-nodes-cpp && source /opt/ros/humble/setup.bash && ros2 run demo_nodes_cpp talker'

This works, I am now seeing:

[INFO] [1697045332.110629381] [listener]: I heard: [Hello World: 5]

However now I try the same in balena:

balena ssh uuid.local
balena run --rm -it --net=host ros:humble /bin/bash -c 'apt-get update -qq && apt-get install -qqy ros-humble-demo-nodes-cpp && source /opt/ros/humble/setup.bash && ros2 run demo_nodes_cpp talker'

I intentionally dressed it down to this. The result of deploying a docker compose file on the device are the same.

When I try the same strategy with all three devices on the same local network, everything works fine.

So what could cause the dds layer to skip the zerotier tunnel device on balena but not on a regular server?