I wonder if simply changing it to use 'setsid -f' as follows would suffice.
Code:
ENV{LVM_VG_NAME_COMPLETE}=="?*", RUN+="/usr/bin/setsid -f lvm vgchange -aay --nohints $env{LVM_VG_NAME_COMPLETE}"
It'd achieve the same goal: of putting the activation in the background.