Thank you @andypiper, added the <meta charset="UTF-8"> tag, I had the Content-Type tag from before. Also tried with both of these individually without the other, but still no success.
This is the result of curling (curl -A Twitterbot https://freewriter.io/@gustav):
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta charset="UTF-8">
<meta name="description" content="Experience the magic of freewriting. Write every day, without stopping to judge or edit.">
<meta property="og:type" content="website">
<meta property="og:title" content="@gustav on Freewriter">
<meta property="og:description" content="Experience the magic of freewriting. Write every day, without stopping to judge or edit.">
<meta property="og:site_name" content="Freewriter">
<meta property="og:url" content="https://freewriter.io/@gustav">
<meta property="og:image" content="https://freewriter.io/badges/thoreau.png">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="@gustav on Freewriter">
<meta name="twitter:description" content="Experience the magic of freewriting. Write every day, without stopping to judge or edit.">
<meta name="twitter:image" content="https://freewriter.io/badges/thoreau.png">
<meta name="twitter:site" content="@tryfreewrite">
<title>@gustav on Freewriter</title>
</head>
<body>
</body>
</html>
Is there anything you can see in there that is off?