40 Mbps is the amount of data that can be moved in one second; the difference between 20% saturation and 90% saturation should have negligible impact on latency. The bottleneck would occur if you OVERsaturate the line (ie. trying to pull more than 40mbps down) because then the packets would need to take turns coming in and possibly even be re-sent from the source if the latency is so bad that those packets are wiped from cache on routers or switches. (FUN FACT: this is basically how a DDOS attack works, too many packets are being thrown at your network and your router can’t say “no” fast enough to the bad data so latency approaches infinity and the good data ends up getting buried as well)
Cloudflare has dynamic DNS as well as a client to run on your server that will update automatically for you.