Consegui reunir informações suficientes para completar isso. É uma combinação de 3 comandos.
Usando o ffmpeg versão 2.8.4
Primeiro, os segmentos da lista de reprodução precisam ser mesclados em um único arquivo MPEG-TS:
ffmpeg -i [playlist_url].m3u8 -c copy [filename].ts
Em seguida, precisamos extrair as legendas ocultas do arquivo:
ffmpeg -f lavfi -i "movie=[filename_from_last_step].ts[out0+subcc]" [filename].srt
Observação: só consegui que funcionasse se o arquivo ts e o caminho atual do cmd correspondessem.
Por fim, você mescla o arquivo ts e srt e transcodifica para o MP4:
ffmpeg -i [filename_from_first_step].ts -i [captions].srt -c:v copy -bsf:a aac_adtstoasc -c:s mov_text [out_file_name].mp4
Isso fornecerá a você um MP4 com as legendas incorporadas, bem como um arquivo srt independente, se o player não oferecer suporte a legendas incorporadas.