GravCMS has it's own asset manager: https://learn.getgrav.org/themes/asset-manager
It can minify, concatenate js/scss files.
Is it better to do such tasks via gulp (gulp-sass, gulp-concat, gulp-uglify), rather than using built-in asset manager in Grav?
Well I don't have any experience with the grav asset manager. But since you want to do grav-related tasks, I'd recommend to use the built in manager, as long as it can cover all your needs.
I don't see any benefit of using and adding an extra dependency in gulp/grunt or any other build tool.
The only time I'd consider using gulp is, if you already have an existing project with a gulp configuration and you can re-use it and have complex logic.
However probably you just want to minify/concatenate files. So the built in asset manager is the way to go