Это особенность gulp вопреки тому что вы пишите в последнем таске:
['fonts-concat', 'fontmin']
Gulp не будет выполнять их последовательно. А вот если вы напишите просто:
gulp.task('fonts', ['fonts-concat'] function() {
return gulp.src('./fonts/*.css', {read: false})
.pipe(clean());
});
То у вас перед fonts , будет запущен fonts-concat в свою очередь перед fonts-concat будет запущен fontmin и в итоге вы получите нужную цепочку. А что касается замены адреса, то создайте еще один таск используя
gulp-replace или его аналог.
Как край вы можите использовать
gulp-run-sequence.