@Alex Tripp , thank you for being patient!
I followed your steps as closely as I could:
- I created a VNet
- I created a DevTest Lab via ARM using that VNet
- I added a VM to the lab via ARM
- I added a VM to the lab via the portal
The VM created with ARM created an availability set, a load balancer, and a public IP address. The VM created with the portal did not create duplicates (see below).
I suspect your ARM configuration may be slightly different than your portal configuration when you are adding new VMs to the lab. When you add a VM in the portal you can go to "Advanced Settings" (DevTest Labs resource > + Add > Choose a base > Advanced Settings) and under "Automation", you can click on "View ARM template" (see below). This will give you an ARM template you can use as a base and edit for future automation without creating duplicate resources.