Это не просто относится к Java. В целом (согласно документации, доступной по адресу https://avro.apache.org/docs/current/spec.html), мы имеем:
default: A default value for this field, used when reading instances that lack this field (optional)
Таким образом, значение по умолчанию используется только при эволюции схемы и поэтому, когда вы читаете / пишете записи, используя разные схемы. Например, предположим, что вы хотите прочитать запись, написанную со схемой A1, используя вместо этого развитую схему A2, и что поле capture было введено со схемой A2 (поэтому ее не было в схеме A1). Таким образом, запись, которую вы читаете, содержит значение по умолчанию схемы A2 для этой переменной.
Для проверки я создал два Java класса из схемы соответственно с логическим значением поле со значением по умолчанию "true" и "false". Сгенерированные классы идентичны за исключением определения схемы Avro. Это подтверждает, что значение по умолчанию не отражено в исходном коде.
Я также пытался с Golang, и результат тот же.