Making sense of utilization information

Learning is an adventuresome quest.
ext4, xfs, and btrfs use extents for allocation and xfs and btrfs use reflinks as well.

How much storage capacity is really in use on this freshly installed system? Is there any way to show how many ssd data blocks are for metadata, data or reserved use? How about storage analysis tools?

df -TBM / /boot
Filesystem       Type 1M-blocks  Used Available Use% Mounted on
/dev/mapper/bd-r xfs     16252M 1105M    15148M   7% /
/dev/sda1        vfat      511M   69M      443M  14% /boot

du -sxm / /boot
751	/
69	/boot

xfs_estimate -v /
directory                               bsize   blocks    megabytes    logsize
/                                        4096   205937      804.4MB    4096000

Make the xfs with finobt=0 and reflink=0

df -TBM / /boot
Filesystem       Type 1M-blocks  Used Available Use% Mounted on
/dev/mapper/bd-r xfs     16252M  817M    15436M   6% /
/dev/sda1        vfat      511M   69M      443M  14% /boot

du -sxm / /boot
577	/
69	/boot

xfs_estimate -v /
directory                               bsize   blocks    megabytes    logsize
/                                        4096   160492      626.9MB    4096000

Change the root filesystem to ext4 with the exact same set of packages installed

df -TBM / /boot
Filesystem       Type 1M-blocks  Used Available Use% Mounted on
/dev/mapper/bd-r ext4    15952M  602M    14519M   4% /
/dev/sda1        vfat      511M   68M      444M  14% /boot

du -sxm / /boot
600	/
68	/boot

xfs_estimate -v /
directory                               bsize   blocks    megabytes    logsize
/                                        4096   166803      651.6MB    4096000

Change the root filesystem to btrfs, which uses zstd:1 compression, with the exact same set of packages

df -TBM / /boot
Filesystem     Type  1M-blocks  Used Available Use% Mounted on
/dev/vda2      btrfs    16318M  413M    15425M   3% /
/dev/sda1      vfat       511M   67M      445M  13% /boot

du -sxm / /boot
592	/
67	/boot

xfs_estimate -v /
directory                               bsize   blocks    megabytes    logsize
/                                        4096   162557      635.0MB    4096000

The numbers are so different. Can it be explained?

My understanding is…

df include meta data overhead. du does not.

Those commands answer different questions.
df reports on the use blocks for any reason, inodes, xattr, file-data, etc.
du reports on the size of the files that you scan rounded up to clusters(?).

Does xfs do compression?

I think there is no compression on xfs.
Have a look into how sparse-file sizes are reported.
A sparse file could be 1GiB total size but only have 1KiB allocated.
Also look at what happens to files that are hard linked.
Does du count the disk space more than once?