GameThreadの処理を別のスレッド(コア)に移す

ご確認頂きありがとうございます。以下それぞれのご質問への回答となります。

SetGatherThreadForDontCompleteUntil

これはTaskGraphで実行する処理を別のThreadで待つ場合に、次に稼働するThread(明示的に実行待ちするThread)を指定するものです。例えば、提示頂いた箇所でGameThreadが指定されているのは、TaskGraphの処理をGameThreadで待ってから実行するためです。ここで設定されたENamedThreadは、処理を待つ際に生成されるNullGatherTask(何も処理を行わないTask)に設定され、特定のイベントが完了するのを抑制するために使用されます。

DontCompleteUntil

ご認識の通りで、別のイベントが完了するまでFGraphEventを起動しないようにします。これはFGraphEventへの入力イベントにFGraphEventRefを追加することによって機能し、イベントはEventsToWaitFor配列によって呼び出されます。

Taskを生成しているTickGroupではなく、他のTickGroupで待ちたいのですが(具体的には最後のTickGroup)、何か方法はありませんでしょうか?

注意点として記載させて頂いた理由としましては、まずTickGroupが同一TickGroupの処理が全て完了するまで待つ(次のTickGroupに進まない)という仕組みを基本としてGameThreadが動作していることによるためですが、EndTickGroupの指定を変更することで特定のTickGroup以外で動作することも可能ではあります。しかしながら、GameThreadでの処理をTaskGraphに移行したものを継続して最後のTickGroupまで実行するということは今までに検証されたことが無いため、その方法について安全性を保証できないという回答となってしまうというのが正直なところではございます。
もしその他でご質問がありましたらご連絡ください。