For the point no.3 like you are saying the no. of virtual interf., I believe that it
completely depends on the use case of what you are executing via a yaml file.
Moreover to add in a new profile or a connection, I prefer using nmcli offering a variety
of options, which you may check in the manual available offline.
Cheers!