@BSmithITGuy Thanks for your information. The temporary workaround now is put Xen Orchestra to the same XCP-ng management network.
Update 1: Diving deeper, I discovered that the API was changed the host management address (where the VM is located) to the backup address:
https://github.com/vatesfr/xen-orchestra/blob/92932dd54645838db58ecfdd872895c5ad461608/packages/xen-api/index.mjs#L1010
async _setHostAddressInUrl(url, host) {
...
url.hostname = await this._getHostBackupAddress(host)
}