こんにちわ。
確かに/tmpフォルダに書き込み権限がないと、同じエラーになることをLogstash6.5.1で確認しました。
tmpが書き込み権限がないというのであれば、書き込みができる場所を
Javaのテンポラリ用のフォルダの指定をすれば良い、ということになるかと思います。
そこで、EM_TEMPDIRではなく、LS_JAVA_OPTS環境変数でJVM引数を指定してみてください。
export LS_JAVA_OPTS="-Djava.io.tmpdir=/hoge/fuga"
/hoge/fugaは、logstash実行ユーザが書き込みができる場所とします。
これで実行いただくと、tmpフォルダが書き込み権限なくても、/hoge/fuga以下を使うので起動エラーは避けられるはずです。
こちらはDockerで確認していますが、これを確認したときの起動コマンドはこちらになります。
/tmpフォルダはReadOnly、新しく指定するtmp用のフォルダはReadWriteで。
docker run -it -v /home/test/1205:/tmp:ro \
-v /home/test/hoge:/hoge/fuga:rw \
-e LS_JAVA_OPTS=-Djava.io.tmpdir=/hoge/fuga \
docker.elastic.co/logstash/logstash:6.5.1
これでlogstashを起動すると、jrubyのjarがtmpとして指定したフォルダにコピーされていることが確認できました。
参考になれば幸いです。