The key change here is forcing the final unary call to wait for the server to be ready. The native client was making the RPC, but didn't appear to have a valid connection at the time.