El uso de una tabla temporal global en este escenario podría causar problemas, ya que la tabla existiría entre sesiones y podría generar algunos problemas al usar el código de llamada de forma asíncrona.
Se puede usar una tabla temporal local si se definió antes de llamar a sp_executesql, por ejemplo,
CREATE TABLE #tempTable(id int);
sp_executesql 'INSERT INTO #tempTable SELECT myId FROM myTable';
SELECT * FROM #tempTable;