Estoy adivinando un poco aquí, pero no creo que configurar CORS funcione para este caso. El origen (al menos desde la aplicación de escritorio de Obsidian) es 'app://obsidian.md'. Creo que CORS solo se puede configurar en Discourse para tratar con solicitudes HTTP.
@maxtim, ¿necesitas que esto funcione desde el móvil, o sería suficiente poder publicar en Discourse desde la aplicación de escritorio? Estoy adivinando de nuevo, pero… entiendo que la aplicación de escritorio es una aplicación Electron. Se ejecuta en una combinación de Chromium y Node.js. Podrías usar node-fetch para hacer solicitudes del lado del servidor a Discourse. Si eso funciona, se encargaría del problema de CORS y te permitiría usar FormData en las solicitudes.