If we're keeping this simple, then I'd say have IP address in subaltnames. Obtaining such certs shouldn't be a problem for CDNs, and possible for others as well (regarding free options: Let's Encrypt doesn't support that, but ZeroSSL does)
Meanwhile, DNS records already need to be updated if your IP changes anyway, so it is a logical place to put the authenticity information