@mattly Like this?
import { h, render } from 'https: //esm.sh/preact';
const app = h('h1', null, 'Hello World!');
render(app, document.body);
Source: https://preactjs.com/guide/v10/getting-started/
FWIW: I recently used JSX via tagged templates and it was more pleasant than I thought (no build step is nice). Tag functions can cache their output so performance shouldn’t be much worse than compiled JSX.