The two are trials dependent, so this is the marginal probability averaged across situations when X = 0 and X = 1.
On the second draw, there's either:
2 red balls and 5 blue balls (2/7), which has a probability of 3/8 of occurring (this is conditioning on X = 1)
3 red balls and 4 blue balls (3/7), which has a probability of 5/8 of occurring (this is conditioning on X = 0)
It is a weighted average of 2/7 and 3/7, with the weights being those probabilities based on the first draw, X:
((2/7) * (3/8) + (3/7) * (5/8)) = 3/8.
Simulation verifying this, in R:
set.seed(1839)
balls <- c(1, 1, 1, 0, 0, 0, 0, 0) # 0 is blue, 1 is red
res <- replicate(500000, sample(balls, size = 2, replace = FALSE))
# this returns a matrix with 500,000 columns
# the second row represents the second draw
# how many of these are 1?
prop.table(table(res[2, ]))
That returns 0.375028, or about 3/8:
0 1
0.624972 0.375028