I looked into this in order to fix it in one of my mods. With official mojang mappings, GameRenderer’s getDepthFar is the reason for this issue.
In 1.21.5, where the issue occurs:
public float getDepthFar() {
return this.renderDistance * 4.0F;
}
In 25w16a, where the issue is fixed:
public float getDepthFar() {
return Math.max(this.renderDistance * 4.0F, 2048.0F);
}
In 25w17a, where the issue once again occurs:
public float getDepthFar() {
return Math.max(this.renderDistance * 4.0F, this.minecraft.options.cloudRange().get() * 16);
}
The this.minecraft.options.cloudRange().get() * 16
can be too low, and I found 11 chunks for the cloud distance setting to be the minimum for there to be no holes.
I am still able to reproduce on 1.21.8