What's the POSIX specification on behavior of built-in commands with redirections and/or piping?

Well (exit),

The exit utility shall cause the shell to exit from its current execution environment [...]

and (2.12. Shell Execution Environment)

A subshell environment shall be created as a duplicate of the shell environment, [...] Additionally, each command of a multi-command pipeline is in a subshell environment; as an extension, however, any or all commands in a pipeline may be executed in the current environment. All other commands shall be executed in the current shell environment.

So the exit in a pipeline runs in an execution environment/subshell of its own, and exits only that, while the one in the simple command exit > /dev/null runs in the main shell environment. (As noted in the comments, the redirection doesn't really affect it at all.)

Note that the part in the middle of the second quote means that some shell might run all the commands of a pipeline in the main environment, thus exiting the whole shell even in that case. In practice, that's more commonly done for the last command of a pipeline.

In Bash with lastpipe, for example:

$ bash -c 'true | exit; echo end.'


$ bash -O lastpipe -c 'true | exit; echo end.'

doesn't print anything.