I personally would use sp_executesql
along with an output parameter for this:
DECLARE @SQL NVARCHAR(MAX) = ''
DECLARE @TableExists BIT;
SET @SQL = 'SELECT @TableExists = CASE WHEN TableExists = 0 THEN 0 ELSE 1 END
FROM OPENQUERY(' + QUOTENAME(@LinkedServerName)
+ ', ''SELECT TableExists = COUNT(*)
FROM LinkedDB.INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME = ''''TableName'''''');';
EXECUTE sp_executesql @SQL, N'@TableExists BIT OUTPUT', @TableExists OUT;
IF (@TableExists = 1)
BEGIN
-- DO SOMETHING
END;