In case anyone ever encounters this, this is how we fixed it. proxmox_cluster1_1 is one of our LVM VG, you need to replace it with the name of your VG.
(Optional) Get overview which disks are present on the LVM and which are active on the node
lvdisplay proxmox_cluster1_1 | grep -Ei 'status|path'
Read size from original disk
SIZE=$(lvs --noheadings -o lv_size --units B --nosuffix "/dev/proxmox_cluster1_1/vm-112-disk-7.qcow2" | xargs)
Create new LV, one as a copy and one as the final fixed disk
lvcreate -n vm-112-disk-7-copy.qcow2 -L "${SIZE}B" proxmox_cluster1_1
lvcreate -n vm-112-disk-7-fixed.qcow2 -L "${SIZE}B" proxmox_cluster1_1
Copy data from original disk to copy disk
dd if=/dev/proxmox_cluster1_1/vm-112-disk-7.qcow2 of=/dev/proxmox_cluster1_1/vm-112-disk-7-copy.qcow2 bs=64K status=progress
Define SRC Parameter (Copy Disk)
SRC=/dev/proxmox_cluster1_1/vm-112-disk-7-copy.qcow2
Read header from copy disk
dd if="$SRC" of=/root/vm-112-disk-7.qcow2.header.bin bs=1M count=4 status=progress
Read offset from copy disk. Whatever number this command gives back, define as offset in next command
LC_ALL=C grep -aob $'\x23\x85\x28\x75' /root/vm-112-disk-7.qcow2.header.bin
Define offset
OFFSET=504
Rewrite offset
printf '\xFF\xFF\xFF\xFF' | dd of="$SRC" bs=1 seek=$OFFSET conv=notrunc status=none
Convert disk with fixed offset from qcow2 to qcow2
qemu-img convert -p -f qcow2 -O qcow2 /dev/proxmox_cluster1_1/vm-112-disk-7-copy.qcow2 /dev/proxmox_cluster1_1/vm-112-disk-7-fixed.qcow2
Attach disk to VM
qm set 112 --scsi6 proxmox_cluster1_1:vm-112-disk-7-fixed.qcow2,discard=on,iothread=1,ssd=1