A friend and I both encountered this problem with our Yubikey 4 devices after upgrading to gnupg and scdaemon 2.1.18-3. Here is what I found, along with a partial solution.
The new scdaemon does NOT get along with pcscd anymore. There is a race condition for which one opens the Yubikey device first. Normally pcscd opens the device first, after which scdaemon refuses to use the device. Occasionally, scdaemon would open the device first and things would work as expected. A work around for many people is to remove the pcscd package from your system. If you don't require the PIV-card features of the Yubikey (you are just using the PGP-card, U2F, and OTP features), then removing pcscd will allow scdaemon to reliably get ownership of the device. Also ensure is that the libykpers-1-1 package is installed. You can install libykpers-1-1 directly, or install yubikey-personalization-gui (which depends on it). The libykpers-1-1 package contains /lib/udev/rules.d/69-yubikey.rules, which is required to set various properties on the Yubikey device so that scdaemon can access it as your unprivileged user. Without this package installed, `gpg --card-status` would return expected results when run as root, but would produce the "No such device" error messages in the original bug report when run as an unprivileged user. After removing the pcscd package and ensuring that the libykpers-1-1 package was installed, my Yubikey is working on my Debian systems again.