The advantage of using the Capacitor plugin over the firebase npm package, is that you’ll get native notifications on the device when your app is not running or in the background. If the app is in the foreground, you need to use it in conjunction with Local Notifications if you still want the native notificaiton. Otherwise, you can do an in-app notificaiton.
I have not tried the firebase package. I assumed it doesn’t hook into native. I stand corrected if it does Does it work if the app is not running at all?
I can’t speak on a Cordova plugin. Have you thought about converting to Capacitor? Capacitor seems to be the future. Many Cordova plugins also work with Capacitor.