When a==a,
Clear["Global`*"]; c[t_] := {a*Cos[t], a*Sin[t]}; vf = {y^2, 0}; Integrate[vf.Dt[{x, y}, t] /. Thread[{x, y} -> c[t]], {t, 0, Pi},Assumptions-> a>0] (* Integrate returns unevaluated. *) When a==2, I can get the result.
Clear["Global`*"]; c[t_] := {2*Cos[t], 2*Sin[t]}; vf = {y^2, 0}; Integrate[vf.Dt[{x, y}, t] /. Thread[{x, y} -> c[t]], {t, 0, Pi}] (*-(32/3)*)