After shrinking an ext4 file system with resize2fs M I mounted it to realize it has only 57% used. So I ran
$ resize2fs -d 32 -M rootfs-2021-06-28.img
resize2fs 1.44.5 (15-Dec-2018)
fs has 9698 inodes, 1 groups required.
fs requires 115683 data blocks.
With 1 group(s), we have 16352 blocks available.
Added 4 extra group(s), blks_needed 115683, data_blocks 147424, last_start 30686
Last group's overhead is 16416
Need 84997 data blocks in last group
Final size of last group is 101413
Estimated blocks needed: 232485
The filesystem is already 232485 (4k) blocks long. Nothing to do!
I guess that 115683 data blocks plus 16416 overhead make the 57% of 232485, but I fail to add up those numbers to 232485 blocks. Honestly, I don't understand that calculation. The man page admits
KNOWN BUGS
The minimum size of the filesystem as estimated by resize2fs may be incorrect, especially for filesystems with 1k and 2k blocksizes.
But I have 4k block size.
If resize2fs is the wrong tool for small numbers of blocks, please recomment a different approach to shrink the file system.