@stormi dd stands for disk dump and does exactly that: Copy a stream of data.
Fio however can be configured for precise workloads and read/write mixes, parallel workloads etc.
So the first thing will only give you streamline benchmarks, what almost nobody cares about.
The second can simulate realworld (VM/database...) workloads, where (controller) Caches and non magnetic storage (Flash, Optane, MRAM...) makes the real difference.
Also use big amount of data, since caches can impact small ones extremely. Don't get me wrong: We need them and they can make huge differences, but as long as your benchmarks fully fit into them, it gives your nonsense/fake results. Also (consumer) SSDs start throttling after some 10 to a very few 100 GB of data written. Their caches fill up and they 'overheat'.
You can spend days on benchmarks and how to do what. 😉
I don't know what's xo-updater, maybe an external script, but it's not the upstream one from XOA or XO project.
And yes, there is some patches sometime (for xo-server, which is one package of Xen Orchestra).
For example, xo-server in 5.38.0 never landed in XOA, because we did some QA before and found some issues. We patched it, and then we've done some QA again, and then we decided to release Xen Orchestra 5.33. That's why you can have sometimes some surprises from the sources, because it's not officially tested (unlike in XOA)