This is by design. cli_register_file_handles is only called when behaviour is PHP_MODE_STANDARD if the filename is not '-'. See the comment starting on line 1068 of sapi/cli/php_cli.c
I am working on a patch to the PHP documentation that should make this situation a bit more clear.