It’s whatever you feel will be more manageable – but perhaps the right answer isn’t one or the other.
E.g., based on that diagram I would have:
Projects – CPT
Format – Select option
Services – Select option
Clients – CPT
Collaborator – CPT (with underlying options)
Skills – Unsure what you’re doing with this?
Try and build one example of what you want and then you will be able to figure out the most straightforward result to achieve this.
Whats in your input field, and what are you getting as a result?
Looks like your loop is broken;
You have $term = get_field(), then foreach( $terms as $term );
Should be
$terms = get_field('department');