I was trying to find a proper DNS solution.
I found that Azure don't support domain name registration right now, and they are clearly stating it in their official documentation: https://learn.microsoft.com/en-us/azure/dns/dns-faq#does-azure-dns-support-domain-name-registration
But what about OCI? I can only find these details from the official documentation: https://docs.cloud.oracle.com/en-us/iaas/Content/DNS/Concepts/gettingstarted.htm
Public DNS Zones hold the trusted DNS records that will reside on Oracle Cloud Infrastructure's nameservers. You can create public zones with publicly available domain names.
To make your Oracle Cloud Infrastructure hosted zone accessible through the internet, you must delegate your domain with your domain's registrar.
You can use the noted name servers to change your domain's DNS delegation. Refer to your registrar's documentation for instructions.
This is from FAQ: https://www.oracle.com/in/cloud/networking/dns-faq.html
How do I delegate my domain to Oracle Cloud Infrastructure DNS?
Domains can be delegated to Oracle Cloud Infrastructure DNS from the Domain Registrar’s self-service portal.
Can i buy a public domain via OCI DNS?
Or should i use a third party registrar to buy a domain first, and then create a zone for that domain in OCI DNS?
Oracle cloud does not act as a domain registrar, so you cannot buy a domain from them. You can have DNS servers both primary and secondaries, on Oracle cloud for domains registered elsewhere.