Alan! Fewer than 2,000 words? How am I supposed to operate under that kind of constraint?
Seriously, though, trying to figure out where to start. The easiest place is probably up high on the haplotree. My P310 and L151 example wasn't a great one; but I didn't want to dive down to levels as deep as your FGC29721.
With the rapid changes in just the last few years to the haplotree (in March 2020 there were 26,862 branches, or subclades, in the FTDNA yDNA haplotree; this morning there are 46,165), we're getting a much more refined picture, but things aren't as simple as they were back in February 2002 when the Y Chromosome Consortium proposed its nomenclature system (R1b1, I1a1, E2b1, etc.) for yDNA haplogroups. At the time, they had identified exactly 153 haplogroups.
The term "basal haplogroup" used to mean founder haplogroups designated by a single letter only. Cast in bronze. Then we got more and more data and the term "basal" shifted deeper to clades like R1b, or E1b, or J2a. Still cast in bronze. And all that metal casting proved to run even deeper than that. R-M269 is an excellent example, which in the long-form notation is R1b1a1b.
There's a whole lotta bronze casting going on. But...a SNP is still a SNP. It's a single allele, a single nucleotide polymorphism, and is subject to possible mutation at any time. However, all those expanded-connotation "basal" haplogroups have continued to show that their defining SNPs are very, very stable, not mutating for well over a millennium or more.
The only thing, really, that differentiates a SNP from a SNV (single nucleotide variant; with the unfortunate pronunciation "sniv") is that a SNP has been determined to appear in at least 1% of the global population (yeah; not an auditable rule, really) and that, typically, it has been submitted to the NCBI's dbSNP database (https://www.ncbi.nlm.nih.gov/snp/) for cataloging. A SNP, like a SNV, is defined by its precise locus on the chromosome, and the allele value at that locus.
For example, your FGC29721 is (under the GRCh38 assembly, or genome map) located at locus 22,286,478. It tests as positive (or "derived") if the nucleic acid is guanine rather than the reference adenine. It is cataloged as the rsID ("Reference SNP cluster ID") rs770607610. And it is, technically, still classified as a SNV and not a SNP.
I know; nitpicking terminology. But even though it's a lot easier for us to call everything a SNP, that's not always the case, even if the variant has been cataloged in dbSNP and has been given a name based on the person or institution submitting it for naming ("FGC" stands for Full Genomes Corporation; you'll see a boatload of Y-SNPs with names starting with "BY"...you guessed it: "Big Y"). Bottom line, though, that's what "FGC29721" refers to: a locus on the chromosome and a specific nucleic acid value at that locus. It isn't associated with any haplogroup at all...until data collection and analysis positions it on the haplotree.
I suppose the net message is that a single allele result deep in the haplotree, in vacuo, isn't bankable. That's the inherent problem with some--not all, but some--results obtained from autosomal microarray testing. One variant in isolation doesn't necessarily confirm a subclade or branch on the haplotree. For solid accuracy, all the SNPs in the hierarchy need to be known. That said, in my example of spot-testing in yDNA projects (and in your own of having 15 Big Y test-takers) accumulated testing data plus a genealogical tree can go a long, long way as verifiable evidence of haplogroup membership.
And even with the Big Y test, not every allele can be positively identified. In microarray testing, a value is either there or it isn't. With full sequencing (NGS) a bunch of reads are made and stacked on top of each other (virtually speaking) and an accurate determination is attempted. Works almost all the time. But as an example, I'm R-BY35083 < BY35076 < BY22194 < BY22166 > BY33322 > ZZ12_1 < DF27 < ZZ11, etc. In my Big Y results, I verifiably test positive for all those SNPs...except one, ZZ12_1. In that instance, I'm a no-call because the test didn't provide enough evidence to accurately name the allele. But FTDNA considers ZZ12_1 as presumed positive in that instance since all the other hierarchical SNPs for R-BY35083 are consistent.
I have a trademark on the term World's Worst AnalogiesTM, so I'll close with a very bad but simple one. An individual SNP is like a street address. Let's say it's 13822 Purloined Pigeon Court. Pretty specific. But it isn't impossible for some other place to also have a 13822 Purloined Pigeon Court. If we add a town or city name to that, we're probably 98% sure we've got the unique location. Further add a zip code or postal code and, voila!, almost a certainty that we've put a pin a particular place with extreme precision.
Haplogroups are kinda like that. A given SNP (or SNV, or grouping of synonymous SNPs) is like a street address: it defines that haplogroup branch but, by itself, isn't enough to be completely certain we're at the right place. The collection of SNPs that define the hierarchy above and sometimes below (like my no-call) help do that.
Some random male somewhere in the world could have a G instead of an A at locus 22,286,478 on his Y chromosome and not be related to your patrilineal family group. But if he's also positive for BY3190, CTS10029, and FGC15710, that you can take to the bank.