You’re right; the topic data is unavailable in the header, which makes sense!
CSS can be a solution. Keep the condition in topic-list-item, and render it by default for the header.
{{raw "topic-list-header-column" order='posters' forceName='Participants'}}
And with CSS, you can say, "Select the list that doesn’t have (not has) the posters rows and hide it "
.topic-list:not(:has(.topic-list-body .topic-list-data.posters))
.topic-list-header
.topic-list-data.posters {
display: none;
}
Does it work for you?