No, it was the pre-3.0.0 behavior that was incorrect. When a client tries to push a file but is prevented from doing so by a daemon exclude, rsync has done a transfer that is incorrect from the client's perspective, so it must issue error 23. To avoid the error, exclude the files on the client.