Вы не должны использовать какую-либо часть приложения, чтобы сделать это. Службы, JobScheduler или Work Manager часто убивают, чтобы предотвратить разрядку батареи.
По моему мнению, лучший способ отправлять уведомления с использованием облачных сообщений firebase при определенных условиях - это использовать firebase functions .
Также убедитесь, что уведомление доставлено в системный трей, а не в приложение. Для этого используйте FCM DataMessages. Сообщения с данными доставляются в системный трей и всегда отображаются, даже если служба не работает.