I think that what you listed are wholly separate problems from https and gemini.
Both of those would work perfectly peer to peer if all servers and clients are in one network controlled by you. But since you have to exert a lot of effort to do that under IPv4 right now then it makes sense that you pay somebody to set the connection up for you.
Maybe some day IPv6 might remove the two latter points if I understand its implications correctly, but DNS is again just some ledger whose service you need to pay for, but you're fully free to just have an IP or set-up your own DNS even if that would be pointless since people seem to have agreed that it's just easiest to pay a handful of people to do that centrally.