The channel is_client flag is inaccurate
The channel_t is_client flag is inaccurate: relays set it when the other end uses a CREATE_FAST cell, but usecreatefast is set to 0 in the consensus.
This means that the only time CREATE_FAST is used is when a relay gets an extend request without an ntor key, and the purpose of the circuit is not one of the hidden service purposes where TAP is allowed.
See should_use_create_fast_for_circuit() for details.