設定で指定された名前で画像を参照する方法

おっしゃる通りです。自分の環境では動作していると思っていましたが、そうではなかったようです。:thinking:

こちらが代替案です。JS経由でカスタムCSSプロパティを設定します。

document.documentElement.style.setProperty(
  "--hat-url",
  `url(${settings.theme_uploads[settings.hat_type]}`
);
body {
  background: var(--hat-url);
}

settings.theme_uploads にはアップロードのリストが含まれます。
例:
image

その後、設定に基づいてカスタムプロパティを設定します。

私のテストでは、url(var(--hat-url)) としても機能しませんでした。そのため、url() をカスタムプロパティに直接渡しました。