Maybe the implementation discussed in this feature topic would work for your use case as well:
You could also try creating a theme component that redirects different routes to the subscription page for users who are not in specific groups. Redirect an existing route in a theme component