I have a subdomain set to dns only, which has a Let’s Encrypt certificate that’s about to expire. How do I get it to use a CF certificate instead? Can I just set up a page rule to allow Full SSL?
You need to renew that certificate on your server anyhow, regardless of any Cloudflare certificates.
Is that because it’s dns only, or just because?
“Just because”. You always need a certificate on your server, proxying through Cloudflare does not change that.