First, to answer your original question, a 301 redirect is probably best. You do lose a bit of "link juice" through the redirect, but it's a clear signal to Google that you're moving domains. If you go the canonical route, you have to set up a new domain and it may take Google a bit of time to fully crawl and index it if the site is not technically-sound or not very crawl-friendly. Additionally, while Google generally respects the user-declared canonical, this is not always the case.
With that said, targeting keywords in a domain name is less and less useful for ranking purposes these days. Especially as Google has been moving towards entity-based search and away from keyword phrases in recent years. (The best example of this is with the introduction of Knowledge Graphs in 2012.) Targeting a specific keyword won't help much when there are many keywords, phrases, attributes, and relations that make up a topic as a whole - which is in very basic terms how Google evaluates information now. See John Mueller's (a Google Trends Analyst) answer on this specific topic: Google on Ranking Power of Keyword Domains.
I'm not sure what you're trying to rank for but my suggestion to is to focus on creating authoritative and relevant content that's actually useful to real people, making sure your site is technically sound (mobile compatible, fix up any issues in Google Search Console) and optimizing for crawling and indexability (clean site/navigational structure, robust internal linking practices, submit a sitemap, ensure proper use of robots.txt). From there you can take advantage of enhancements like AMP to take advantage of Google's many rich search features, and adding Structured Data markup to help Google better understand your content.
There is a good reason for making this change, but not to better match target keywords. Rather, it would be to make your URLs more user-friendly. If the URL has better readability in SERPs, then you may improve CTR to your page and that would have an indirect positive effect on rankings.
I should also clarify that you should absolutely have target keywords in URLs. But changing your domain from a subfolder to a domain, changing the TLD, these things will have little impact on your rankings - though if .cl is a local TLD it could be helpful to change it to .com, but again that could only benefit rankings indirectly through improved user experience. Here is a nice guide on the best practices for URL structure.