There is an alternative to find called rawhide (rh) that is much easier to use.
For filesystems other than btrfs:
rh 'd && nlink == 2'
For btrfs:
rh 'd && "[ `rh -red %S | wc -l` = 0 ]".sh'
A shorter/faster version for btrfs is:
rh 'd && "[ -z \"`rh -red %S`\" ]".sh'
The above commands search for directories and then list their sub-directories and only match when there are none (the first by counting the number of lines of output, and the second by checking if there is any output at all per directory).
For a version that works on all filesystems as efficiently as possible:
rh 'd && (nlink == 2 || nlink == 1 && "[ -z \"`rh -red %S`\" ]".sh)'
On normal (non-btrfs) filesystems, this will work without the need for any additional processes for each directory, but on btrfs, it will need them. This is probably best if you have a mix of different filesystems including btrfs.
Rawhide (rh) is available from https://raf.org/rawhide or https://github.com/raforg/rawhide. It works at least on Linux, FreeBSD, OpenBSD, NetBSD, Solaris, macOS, and Cygwin.
Disclaimer: I am the current author of rawhide.