The case where you want to detect that a certain input is not represented in the dataset, is sometimes referred to as "novelty detection", a slight variation on anomaly detection.
Your suggested approach A) is the simplest one (single model), so try that first.
If it does not work OK you could try a cascade of NoveltyDetector -> Classifier. But the performance in the detector can easily become a limitation, as well as disagreement between the detector and classifier.
You can see the choice of architecture as a hyperparameter, and approach it in the standard supervised learning way: Use a held-out testset and cross-validation in order to determine what works best for your dataset.
A good starting point is to have a solid feature representation. An audio embedding is a compact representation of a short period of audio (few seconds). The AudioSet project has released strong pretrained CNN models called VGGish that can be used to produce such embeddings. Github. These are 128 dimensional with on orthogonal basis, which makes it easily to build machine learning on top using simple methods and very small datasets. Linear models, kNN and tree-based methods should all do pretty well, both for classification and novelty detection.
The user can then label that unknown class...so it will be detected next time.
Learning from a single sample (one-shot learning) is very challenging, as is automatically updating the model (online learning). For that reason it is not commonly done these days, and best practice is scarce.