Custom WP_Query doesn’t display all posts

All thanks to @PieterGoosen’s comment, I figured out that this issue was due to a setting within the WPML (multilingual) plugin. Under the ‘translation management’->’multilingual content setup’ tab of the plugin settings, there is a section for ‘custom posts’. In this section, my ‘publications’ post type was not set for translation, and this somehow prevented its posts from displaying within my custom query. Once this setting was changed, everything works as expected!

Hopefully this makes sense and will help someone else in the future. Cheers!