Protocol errors are undocumented
It's not obvious protocol errors cause the client to disconnect. Neither the "Protocol" section of the docs nor the non-existing wl_resource_post_error
docs describe the consequences of a protocol error.
Also worth documenting is the fact that protocol errors are fatal, unrecoverable (thus should in general only be used for protocol violations, not for runtime errors).