Am I right in thinking that the "office id" is an overarching ID, which can be associated with multiple practices?

Yes, that's correct. To get the list of practice id or practices associated with "office_id", use 'practices' API call. it will give you list of practices with "practice_id"