Late reply, but I think the docs might be a little inconsistent here in use of "table" vs "datasource" (unless they're not, and I'm wrong).
I'd hope that "all tables other than the leftmost "base" table must fit in memory" should really be "all datasources other than the leftmost "base" table must fit in memory". Elsewhere in the docs, they say datasource is a more general term, and can be a table (regular datasource), inline query, lookup, etc.
Broadcast hash join does need to broadcast entire result sets to brokers for the join, but I would expect it's the resultset, not the entire datasource table, which would be pretty bad. So, I expect it to load the results of your query to heap, not the base table datasource you queried on. I hope it just grabs the interval you asked for. I'd be surprised if it didn't.