It turns out that for iioT you need to both make the topic and then also map it to an mqtt topic.
I needed to select the pubsub topics as the default telemetry topic and the default config topic.
but I skipped that part because I started following a different, out-of-date example and by the time I found the up-to-date one I'd already created my registry so I skipped it.
Hopefully this will become the search hit for the "mqtt: PUBLISH: Pubsub topic missing" error string, so that people can find out what they did wrong.
thanks!