This is a perfect tutorial to test the autoinstall on a virtualized environment. When it comes to the actual installation to a physical machine using a non customized ISO, there are some caveats.
autoinstallmust be put after vmlinuz but before the triple dashes “---”.- the semicolon after
ds=nocloud-netmust be escaped, i.e.\;instead of;otherwise the URL part(s=http://_gateway:3003/) won’t be passed as a kernel parameter and will be ignored.
It would be nice if this tutorial mentions those differences between the virtual environment with calling vmlinuz and initrd directly and the physical env using GRUB.

Also, if we consider a scenario where somebody tests autoinstall config with the kvm command for a physical machine, it would be nice to use UEFI boot with the kvm command too. If not, the tested config may not be reusable since custom partitioning, etc. may not be applicable each other.