AndroidではWindowsと同様にLibCurlが使用されています。
実装を読んだ限りだと特にcurlオプションの指定等で問題となるような記述は見受けられませんでした。
手元にAndroid実機が無いため検証はできていないのですが、もしかすると受け取ったレスポンスをバッファにコピーする部分がボトルネックになっているのかもしれません。
ボトルネックになりそうな実装は以下の部分です。
1.FCurlHttpRequest::ReceiveResponseBodyCallback にて受け取ったレスポンスを Response->Payload にコピーしているのですが、Payloadのサイズが設定されていないために、大きなデータを受信した場合に何度もメモリの再確保が発生する可能性があります。
こちらはサイズを設定するAPIが提供されていないため、エンジンコードに手を入れる必要がありますが、FCurlHttpResponse::Payload の初期化タイミングで適切なサイズを確保してあげることで再確保を防ぐことが可能だと思われます。
2.もしも FCurlHttpResponse::GetContentAsString を使用されている場合、文字列変換のためにPayloadと同サイズのテンポラリ配列にコピーする上に、FString形式で戻り値を返す際に更にコピーが発生しています。
今回はバイナリファイルのダウンロードとのことなので文字列変換は必要無いため、GetContentAsString ではなく GetContent を使用しているかどうかをご確認ください。