When uglifying with the grunt plugin, using option output.comments: 'some' or output.comments: /^!/, only comments from the first file(s) are being preserved. This problem doesn't happen when using uglify-js package.
You can try both in this demo: https://www.dropbox.com/sh/n6mn6szkdgqmsyo/AAD9hydCLM76hGMMkIdCW6Mua?dl=0
Try npm run build to test using uglify-js. This preserves comments containing @license and @preserve from all three files.
Try grunt build to test using grunt plugin. This only preserves comment from the first file (1.js) for me.