I’m chasing down a similar issue. I think it’s cropped up a couple of times before but as yet I don’t think we’ve put our finger on the ‘why’.
I’ve just tested it with a topic timer for ‘Close after last post’ (hoping it was the missing piece I was looking for ), but my vote was returned as expected when the timer fired.
Is there anything else special about the topics you’ve noticed this occurring on?
Also, if you have the data explorer installed/enabled you can have a look at any past topics where the topic is closed and/or archived but the votes haven’t been returned using this query:
SELECT
dvv.topic_id,
t.last_posted_at::date,
tvc.votes_count
FROM discourse_voting_votes dvv
JOIN topics t ON t.id = dvv.topic_id
JOIN discourse_voting_topic_vote_count tvc ON tvc.topic_id = dvv.topic_id
WHERE dvv.archive = false
AND (t.closed = true OR t.archived = true)
GROUP BY 1,2,3
ORDER BY 2