The CNAME you create does contain the trailing dot. It just is not shown by Cloudflare in the dashboard. If the trailing dot were missing, your apex domain would be appended to the canonical name.
CNAMEs do not perform forwarding. Something else is likely the underlying cause here. Have you tried with the CNAME set to DNS Only?
You will need to share your domain name for anyone to be able to offer specific replies.
Your www hostname is working. If you want the apex domain to also load the site, you will probably want to use a redirect rule. See the first entry in the cheat sheet.