The standard read utility takes at least one variable's name.
Some shell's read implementation uses a default variable, like REPLY, to store the read data if no name is supplied, but dash, aiming to be a POSIX compliant shell, does not (as it's not required to do so by the standard). The equivalent in the dash shell would be
read REPLY
The bash shell, even in its POSIX mode, does keep some non-POSIX features enabled. This is one of them, which means that read with no variable's name will work even if you run a bash --posix shell.
For a full list of things that happens when you enable POSIX mode in bash (which this question really isn't about), see https://www.gnu.org/software/bash/manual/html_node/Bash-POSIX-Mode.html