I was following the example azure_ai_chat_client_with_observability.py and noticed that for the first question, there was no function call. It seems like tool_choice="auto" must be explicitly set, otherwise the tools are removed from the request to the model.
If you use non-streaming, or if you use client.create_agent().run_stream(), then the tools are still passed to the agent.