https://firebase.google.com/docs/cloud-messaging/android/receive?hl=ja
これを読むとわかるが、バックグラウンドで動作しているときはフォアグラウンドにいたときと違う処理の流れになる。
バックグラウンドで受信されたときに通知とデータ ペイロードの両方を持つメッセージ。この場合、通知はデバイスの通知領域(システムトレイ)に配信され、 データペイロードはランチャー アクティビティのインテントの追加部分で配信されます。
太字部分がめちゃめちゃ大事
フォアグラウンドのときはonMessageReceivedから呼ばれる処理の中でPendingIntentを渡しておけばタップしたときに任意のActivityを開けるようになる。
バックグラウンドのときはデータペイロードがあってもランチャーアクティビティで処理されるのでonMessageReceivedに書いたPendingIntentは使われない。