Both your custom domain and default Cloudflare Pages subdomain show the same 404 error page. This should be a strong indicator that the problem is not related to your custom domain or DNS.
Please confirm if you have an index.html in the root directory of your project.
Yes, by default Cloudflare Pages expects index.html as the index file to server your root directory.
If your page isn’t named index.html then you’d need to handle that in Javascript by defining your own behaviour for when the root page is accessed. Your framework is doing this for you automatically, but I’ll recommend diving into the resources linked below to understand how routing works in Cloudflare Pages.