I just discovered one more thing immediately after I posted. It’s not that the the fields aren’t loading — they are — they’re there in the DOM. But the ACF field container is being assigned a hide-if-js
class that styles them with display:none;
.
e.g. the containing element looks like this:
<div id="acf-group_[xxx]" class="postbox hide-if-js acf-postbox seamless">
Why?