Multi Matchクエリでのフレーズ検索について(2-gram、同義語検索)

synonym filterの設定でsynonymを読み込む時点で、デフォルトだとwhitespaceのtokenizerが指定されるので、n-gramと異なるトークナイズになってしまうので、synonymが展開されていないのだと思います。
tokenizerというパラメータがあるので、そこにjp_bigram_tokenizerを指定するのが良いかと。

あと、関係ないですが、jp_bigrampos_filterは必要ないので削除するのが良いかと。pos_filterkuromoji_tokenizerが出力した情報を使用するためです。