Thank you for sharing the exact query! Hope it helps someone else
It is the expected type behavior, absolutely. It's also currently the best way we have to get nested data. If you'd prefer having less levels, you'd need to rethink some of the architecture of your slices/data (essentially by removing some levels), such as having a specific custom type for the navbar instead of having it inside settings. This is just an example, I don't know exactly what your use case is here, and I trust you'll know best which way to go about it!
If you're expecting to have further levels of nesting and would like to read up more on queries, or different ways to approach this, I recommend checking out these forum threads and pages, which may touch on issues/topics that will be relevant to you when you work on your project:
- Iterating over graphQuery results for group fields with linked documents in TypeScript
- How to Model a Multi-level 'Mega Menu' with Prismic and a related forum thread Mega menu - #9 by Phil
- Help with access data of custom type in a relationship field in a group field - #3 by marvin.bernd
- Content relationship types within another content relationship in a Slice - #3 by angeloashmore
And if you run into any issue that hasn't been talked about, feel free to reach out as always