It depends. There are a few different ways a number you're attempting to call may be disconnected.
For outbound API and SIP trunking calls if the number is not a valid number Twilio will be unsuccessful in executing the phone call. If that's the case, Twilio will mark the call status as "Failed," and your project won't be charged.
For <Dial> calls, the incoming call to your Twilio number will be marked as completed as soon as we make the request to retrieve TwiML call processing instructions from your voice request URL regardless of what happens on the call generated by this TwiML. For example, an inbound call to a Twilio that results in an outbound call to an invalid destination would result in the inbound call being marked as completed, but the outbound call being marked as failed.
Other times, a number is disconnected because it belongs to a user who is delinquent. The carrier actually accepts the call. Then, their internal business logic determines that it should play an error message to the caller instead of ringing through. If that's the case, Twilio marks the call status as "Completed," and your project will be charged for the brief period it was connected.