Also, why run different OSes on your machines? And why the need to reinstall stuff?
I just run Arch on everything, and I haven't had to reinstall a machine in many years.
It is to overwrite the current Linux OS with the one you want. I came across this idea here [0]. I researched and got Alpine Linux running on Hetzner (even they don't support custom images) using a similar method [1].
This seems to be the guide to do the same with Arch Linux [2], I'm not sure though.
Once you do create a successful Arch image on OVH, take a snapshot of the machine before installing anything else, in case you want to start from a fresh Arch image in the future.
[0] https://github.com/elitak/nixos-infect
[1] https://wiki.alpinelinux.org/wiki/Replacing_non-Alpine_Linux...
[2] https://wiki.archlinux.org/title/Install_Arch_Linux_from_exi...
And whilst I've used most provisioning tools (quite liking packer and terraform), for my own stuff I have a file with notes and snippets. Follow that file and within less than 10 minutes I've got a working server with Postgres, Nginx, and LetsEncrypt, and it's ready for Git push-to-deploy.
Simplicity is what you need, for as long as you can get away with it. Simplicity and backups.
All from Ansible, all to a private github that I just SSH into the machine long enough to run ansible pull.
That way, when I run into errors, it's just rinse and repeat to iterate my ansible playbook code until it is perfectly fit for this exact situation. Is my code maintainable and enterprisey like my work ansible? NOPE. But it's okay, it's my private code that nobody but me uses. I even do direct commits on master because I can, it's my tiny naughty guilty pleasure.