Re: VirtIO Sound Driver (GSoC 2021)
For the driver I’d match the patter of OVMF  and use OvmfPkg/VirtioSoundDxe/. Maybe even use one of the other drivers as a template.
The protocol is more of a public thing. I think eventually we would like to publish the protocol in the UEFI Spec (I can help with that part) and that would mean we put the Protocol definition in MdePkg/Include/Protocol, but we don’t want to do that before it is standardized as that causes compatibility issues. So this is a “code first project” (code prototype and then contribute to the UEFI Forum for inclusion in the specification) so we need to follow some code first rules that I don’t remember of the top of my head? So why not start out the protocol definition OvmfPkg/Include/Protocol. You can also add a test application looks like you can just use the root  of OVMF for that. That way the project is not blocked.
We can have a conversation on the mailing list about better places to put stuff, and it should be easy enough to move stuff around if everything else is working.
 find OvmfPkg -iname '*Virtio*.inf'
 /Volumes/Case/edk2-github/OvmfPkg>git grep APPLICATION -- *.inf | grep MODULE_TYPE
EnrollDefaultKeys/EnrollDefaultKeys.inf:13: MODULE_TYPE = UEFI_APPLICATION