Turns out computing the `integral_data` as part of form preprocessing strips any `domain_data`. So I have to retract my comment above and will switch to use `preprocessed_form.integrals()` as in `_assemble`.