Há uma solução simples para isso, você deve envolver sua consulta de união (ou qualquer tabela derivada) com outro select. Faça isso e continue a sintaxe normalmente:
select * from
(
SELECT 1 as I
UNION ALL
SELECT 2 as J
) as K
Algo assim é o que você está procurando:
SELECT STUFF((
select * from(
SELECT * from dbo.Table1 as I
UNION ALL
SELECT * from dbo.Table2 as j
) as k
FOR XML PATH('')
),1,0,'')
verifiquei e funciona perfeitamente