Page, don’t confuse that with not having Public Access, it’s just saying it can’t find the file.
Using your R2 Custom Domain is simple, just use the same file names that are in your bucket. For example, if you have a file called index.html, you can reach it using yourcustomdomain.example/index.html.
A common mistake is prefixing paths with the bucket name, you don’t need to do that.
There is no special routing behavior, to look for index.html or anything like that, so if you’re looking to serve a website through it, you’ll need to use something like Transform Rules Redirect Rules to make example.com/site/ match site/index.html. I would recommend just using Cloudflare Pages if that’s what you are trying to do.