El problema no era que el control personalizado no fuera dibujando. Fue mi mal uso de QML.
El cargador dinámico estaba agregando el contenido a un control de 'columna'. Los controles de diseño exhiben 'comportamiento indefinido' si los usa incorrectamente. Cambio de diseño manual usando anclajes corregió el problema.