Why does Virtualbox report a much smaller Actual Size to the Virtual Size when the guest says the disk is full?

Host: Ubuntu 24.04LTS
Guest: Lubuntu 24.04LTS

Guest has “Dynamically allocated differencing storage”.

The Virtualbox media manager says the Virtual Size is 25.00GB, but that the Actual Size is 11.96GB.

However, inside the guest, it reports that the 25GB disk — /dev/sda1 all allocated to / — is 99% full. It was showing 100% full (!) so I deleted some stuff.

I noticed the problem when I tried to create a directory and the system reported ‘not enough disk space’.

So the question is, why is VB reporting the wrong ‘Actual Size’?
Is there huge overhead from the snapshots?

And is it safe to enlarge the disk via the graphical interface (or VBoxManage modifyhd Lubuntu24.04LTS.vdi --resize 50000)?

Virtualbox manager showing media

I have plenty of room where I store the virtual machines:
df -h on host:

$ df -h
Filesystem                         Size  Used Avail Use% Mounted on
tmpfs                              6.1G  3.2M  6.1G   1% /run
efivarfs                           128K   63K   61K  52% /sys/firmware/efi/efivars
/dev/mapper/ubuntu--vg-ubuntu--lv  935G  553G  335G  63% /
tmpfs                               31G     0   31G   0% /dev/shm
tmpfs                              5.0M   12K  5.0M   1% /run/lock
/dev/nvme1n1p2                     2.0G  218M  1.6G  12% /boot
/dev/nvme1n1p1                     1.1G  6.2M  1.1G   1% /boot/efi
/dev/mapper/VMs                    937G  536G  354G  61% /home/alan/VMs
/dev/mapper/backupHDs              1.8T  1.3T  442G  75% /mnt/backupHDs
tmpfs                              6.1G  212K  6.1G   1% /run/user/1000

df -h on guest:
df -h on guest OS

sudo gparted on guest:
sudo gparted on guest