Right now, our Manager main app is indeed a single Grails app that combines the AngularJS front-end and core REST APIs back-end (authentication, account management, etc.).
During development, we use Grunt and Bower to manage Angular assets which are served by Grails assets pipeline when run locally. Then for production, Angular static final assets (JS+images+CSS) are deployed to AWS CloudFront CDN, except for Angular HTML views/templates that are still dynamically generated by the Grails app. We took that direction because we found that it was easier to manage security and i18n on the server side with Grails and to have everything in a single repo/app.
Then we have several other Grails back-end apps (also running on AWS Beanstalk) for business/domain logic which provide stateless REST APIs, with a microservices philosophy.
Next year, we plan to move this platform to Grails3+Angular2 and we might try to completely separate front-end/back-end, with a dedicated repo for a pure front-end Angular app and 100% static assets. We will use Grails3 (and probably Groovy-based AWS Lambda) for pure API back-ends.
So it looks like you already took the good direction!