Would a “hub” page work better as a page or a post?

For things like that a page is better option, because you can make use of custom page templates and also because pages are a better place for inner secondary queries.

As example, if you want to use pagination for secondary queries, alongside next_posts_link() and previous_posts_link(), both those functions check if ( ! is_single() ) to display pagination and is_single() is true if you use a post, but is false if you use a page, so they will not work inside a single post but will inside a page.