Hey,
In-place upgrade is supported and is an option if you don't have another storage for backup.
It is recommended to perform clean install. You can export VMs and import them after installation. It is supported to import VMs with a lower version to a higher version. https://learn.microsoft.com/en-us/windows-server/virtualization/hyper-v/deploy/export-and-import-virtual-machines
You can also perform backup and restore, which can make the process easier.
If you want to avoid downtime and have another host, you can build a Failover Cluster which will allow you to upgrade hosts one by one. As an example: https://www.starwindsoftware.com/resource-library/starwind-virtual-san-for-hyper-v-2-node-hyperconverged-scenario-with-windows-server-2016/
Cheers,
Alex Bykovskyi
StarWind Software
Note: Posts are provided “AS IS” without warranty of any kind, either expressed or implied, including but not limited to the implied warranties of merchantability and/or fitness for a particular purpose.