I've always installed GA in all my VMs
That's definitely the best approach - albeit not always possible in some edge cases (older or unconfigurable software).
I will only add for info purposes, a description of my UPS/NUT setup (at my home).
I have a NUT server (only) setup on the PVE host. (Usually I would avoid making such changes or similar to a PVE host node itself, however in my case with the UPS being attached by USB to the host, I took the decision to avoid using passthrough to an LXC or VM for my purposes, so inevitably made these fully documented & limited changes to the host itself).
On the PVE host I have a VM with Home Assistant which has Nut client configured (Nut integration). With this I can monitor the UPS/POWER status & have automations configured to take applicable/desired actions, the primary one being a Shutdown command sent (by SSH / API - see
here) to the PVE host. This works flawlessly.
I chose this setup, primarily so as to make as little changes as possible, but also to have complete granular control over the UPS management, & still basically non Nut-dependent.
This works excellently for mu use-case, YMMV.