I'm able to work around the issue by calling associate before any await calls and waiting for the component to finish initializing inside the function body.
const component1Promise = component.create();
CustomFunctions.associate("HELLO", async () => {
const component1 = await component1Promise;
return component1.hello();
});
const component1 = await component1Promise;
// ...
Office.onReady();