Is network booting an option?
I see two possibilities. I assume you don't want to create new ISO every time something changes in autoinstall.
First one is to setup PXE boot environment. It pays off long term if you are installing a lot. To get started with that you can check my step by step guide here:
https://askubuntu.com/a/1292097/1080682
Second one is to make an ISO. But just with basic user-data (autoinstall) that points installer to - download new (current) script! That way you keep small web server with scripts somewhere, and when you want to change script, no need to change boot ISO media. To get you started with this idea, you can check my other post here:
https://askubuntu.com/a/1292607/1080682
Both guides are based on PXE, but you can use the second one in other approach as well.
As for creating your custom ISO, you don't have to do much. Just making multi-boot ISO that contains Ubuntu and some bootloader like syslinux (actually isolinux variant for ISO media), then in kernel parameters just input same thing you'd input for PXE. Again you can check my guide (first link) to see how it's done with syslinux menu, as syslinux/pxelinux/isolinux are all just variants of the same family, so they act and configure in same way, you just swap the binaries according to your needs.
I am interested in other answers/options as well, maybe I missed something. I too work with Hyper-V and Ubuntu VMs, and I'd sure welcome an even easier way. But in my current situation - I just use PXE server and push new installs from it.
NOTE: If your environment already has SCCM and/or WDS - you can PXE boot Ubuntu from them as well! Push me a comment if you want that, and I'll provide you with a guide. It's 90% done just didn't get to finish and post it somewhere (yet).