How can I redirect a request to the site root using htaccess, if there’s not a specific cookie set?

if the cookie “language_known” isn’t set to the value “yes”.

RewriteCond %{HTTP_COOKIE} !language_known=true;? [NC]

The condition is checking that the value is not “true” (string), not “yes”?

However, the rule is also configured as a 301 (permanent) redirect, so this will be cached persistently by the browser. If the browser has redirected once, when the cookie was not set then it will always be redirected, even when the cookie is later set (since the request never reaches the server to perform the check).

This needs to be a 302 (temporary) redirect so the browser does not cache the redirect (by default). And the browser (and any intermediary) cache needs to be cleared before this can be tested.