When you are counting Car or Truck, it is fine with your solution. "is" operator is quite capable of determining the type of an object.
For more simplistic an On demand logic, you can also use LINQ to filter out the element from the list.
int cars = vehicle.Where(item => item is Car).Count;
Here Where allow you to filter elements based on its type as well.
Another implementation could be use of ObservableCollection.
ObservableCollection notifies when a new object is added or removed. You can handle CollectionChanged event to get your counter updated when a new object is added.