BINPKG_COMPRESS="zstd" does not work: It produces a tbz2 file, but atttempting to emerge the corresponding binary package results in "random" errors, usually in the message that this is not a zstd archive. I conjecture that a reason is that portage does not strip the extra bytes before passing the archive to unzstd: It is a feature of unzstd that subsequent data is considered as a concatenation of a further archive which might result in the corresponding error message (and explains why sometimes also strange messages like "not enough memory for the table" are output, depending on the extra data). Maybe other archive formats have similar issues; I have not tried any further.
Maybe we'll have to pipe the file through 'head' in order to strip the xpak trailer, or something like that.
This is in the master branch: https://github.com/gentoo/portage/commit/b4b0e6b0aaa1feb405823277b82ebb2e4820e0b8