TL; DR não é possível conforme descrito (cf. este post em SO ).
Resposta longa (er): há uma solução alternativa. A função definida pelo usuário deve retornar uma Range
não uma matriz de valor. Portanto, a solução é usar uma planilha descartável para "colar" dados temporários.
Como evitar dados temporários é o motivo exato pelo qual eu queria usar uma UDF, isso é muito ruim, mas pode ser útil para outras pessoas.