I would likely go with CPTs for everything the way you have it. I might even consider a CPT for “format” if there is any chance of this having it’s own page, although pages can be made for terms, so that can go either way. CPTs make it easier to create relationships and have pages like you want as well as making it possible to create additional relationships down the road should you need them.
Welcome to the Advanced Custom Fields community forum.
Browse through ideas, snippets of code, questions and answers between fellow ACF users