Нужно ли ставить точку с запятой после возвращаемой функции?
Ну, ИМХО, логика простая. В конце каждого выражения нужно ставить ";".
Это является выражением?return function() {
    ...
}
да, поэтому ставим. А это является?function func() {

}
нет, поэтому не ставим. Я думаю, линтеры со мной согласятся :-)
Если везде используете точку с запятой - там тоже ставьте. Если нет - то нет.