As per btrfs fi du -s /home , used space is 63.11 GiB.
Total Exclusive Set shared Filename
63.11GiB 13.64GiB 49.01GiB /home
While according to du -hs /home, 64GiB is used.
Also, maximum space used should be close to 72 GiB as per btrfs fi du -s / and 73 GiB as per du -hs /, if btrfs fi usage includes all subvolumes . '/home' and '/' are on separate subvolumes.
I'm not an expert on btrfs, but I assume the inconsistencies come from deduplication, metadata, and maybe compression. I think some of them just count raw block storage, and some include the cost of metadata.
Traditional du assumes that each file takes up it's full space on disk which isn't always the case on btrfs. When using btrfs backed oci images, storage can easily appear multiple times higher.
I use btrfs filesystem usage /. I'm not sure that it is the "correct" way, but it works fairly well.
Between btrfs filesystem usage / and btrfs filesystem du -s / there's nearly 11GiB difference for used space. I have checked btrfs du -hs <path/to/subvolume> for all subvolume in the filesystem, and total seems to be 72 GiB, hence the confusion. Still I don't know if I'm using the tools properly or something else is at fault here.
To correct myself, 11GiB is additional space used by snapshot probably used space difference between btrfs fi usage and btrfs fi du -s / is because of diff between snapshot and parent volume (didn't consider that while adding all used GiB of subvolumes). So btrfs filesystem usage works well to check used/free space.
edit: fix incorrect args; additional space is not diff