This is actually a very common problem in enterprise level applications, where you come across multiple apps that can be used by multiple users in more than one context. The design system should align to the underlying system architecture and hopefully be easy to understand for the users.
What you need is to figure out the relationship between the types of apps, users and companies (which seems to be trickier than the other two), and define the contexts in which it makes sense to switch between them. The concept that you showed suggests that there may or may not be a specific hierarchy that always makes sense, and therefore it might not make sense to say for example put the apps at a higher level than the company. It makes sense that a users is a the highest level because you can log in and out of the applications, but you have to then juggle between different user accounts and different user account types.
So I suggest you putu all of this information down and discuss with the business analysts, technical leads and the product manager between you try to implement something in a design system that will have a profound impact on how everything else works.