When we use BBCLASSEXTEND, we create "variants" (a term used in a number of different places) of the recipe, however in the file path namespace they end up as "virtual:...". This probably wouldn't be so bad except that "virtual/..." is a commonly used naming convention for virtual targets and is completely unrelated to this, which could be confusing. We could simply rename the virtual: prefix - it's mostly internal to bitbake, although it is printed out on the console and in logs.
Seems like more work and hassle wrt versioning than it's worth. Reopen if you want to work on it.