Try to add the output parameter for -
DECLARE
@SQL NVARCHAR(500)
, @OutputNum VARCHAR(10)
SET @SQL = N'SELECT @OUT = COUNT(1) FROM dbo.emp'
EXEC sys.sp_executesql
@SQL
, N'@OUT INT OUTPUT'
, @OUT = @OutputNum OUTPUT
PRINT 'Employee Count: '+ @OutputNum
SELECT @OutputNum
Output -
Employee Count: 103