Я думаю, что fcm не дает возможность отключить push-уведомления, вы можете попробовать обходной путь, так как вы используете сервисный работник для push-уведомлений, и вы хотите включать и отключать push-уведомления в любое время, есть опция отменить регистрацию на сервисном работнике , я считаю, что когда мы отменим регистрацию сервисного работника, т.е. сервисный работник отключен, push-уведомления также больше не будут появляться
navigator.serviceWorker.getRegistrations().then(
function(registrations) {
for(let registration of registrations) {
registration.unregister();
}
});