I’ve finally narrowed it down: the issue seems to come from the automatic publishing option (also a new factor, overlooked). If I uncheck this, publish the post on Wordpress, then publish to Discourse, the custom fields come over to Discourse and display as they should. Or if I allow the auto-publishing to happen, the fields will show up in Discourse after hitting Update Discourse Topic in Wordpress. So it seems that when the post is automatically published, it publishes before the data in the custom fields is properly saved in Wordpress.