It depends on how you expect your users to behave within the app.
I hadn't considered this until reading your question. But I guess if you want to keep the billing as simple as possible, so for a company to have one account with multiple teams and users in it. You could just build out your app within the spark framework to have the teams you want. So spark would only be responsible for billing and user control, but data access is walled off to the outside world by the spark team for billing, then team data and users are walled off within your app.
You could just play with the words you use to describe these sub-teams. You can also change the way spark refers to "teams" to another, more fitting word, like "Organisation" or "account". And within the native spark teams, you could call your sub-team groups anything else, eg; "squad", "Wolfpack", "department", "team". You'd just make appropriate models, controllers, middleware, and routes to suit this need for sub-team groups.
Maybe, as an alternative, you could re-purpose the role intermediate column in the user_team table. Or even add a 4th column to refer to the team. But that might make it difficult and confusing if you want a person to have multiple roles and teams within the "organization".