As another user pointed out, one can piece together the solution from the mass transfer tutorial. This is the resulting code that worked for me:
Needs["NDSolve`FEM`"];
L = 1000;
w = 2;
leftInterphasePos = L/100 - w/2;
rightInterphasePos = L/100 + w/2;
bmesh = ToBoundaryMesh["Coordinates" -> {{0}, {leftInterphasePos}, {rightInterphasePos}, \{L}}, "BoundaryElements" -> {PointElement[{{1}, {2}, {3}, {4}}]}];
regionMarker = <|"dense" -> 1, "interphase" -> 2, "dilute" -> 3|>;
mesh = ToElementMesh[bmesh,"RegionMarker" -> {{{5}, regionMarker["dense"]}, {{10},regionMarker["interphase"]}, {{50}, regionMarker["dilute"]}}];
vars = {{Subscript[c, dense][t, x], Subscript[c, dilute][t, x]},
t, {x}};
pars = <||>;
Subscript[d, dense] = If[ElementMarker == regionMarker["dense"] ||
ElementMarker == regionMarker["interphase"], 1, 0];
Subscript[d, dilute] = If[ElementMarker == regionMarker["dilute"] ||
ElementMarker == regionMarker["interphase"], 200, 0];
pars["DiffusionCoefficient"] = {{{{Subscript[d, dense]}},
0}, {0, {{Subscript[d, dilute]}}}};
\[Sigma] = If[ElementMarker == regionMarker["interphase"], 1, 0];
k = 10^4*(Subscript[d, dense] +Subscript[d, dilute]) /. {ElementMarker->
regionMarker["interphase"]};
Subscript[Q, dense] = \[Sigma]*k*(K*Subscript[c, dilute][t, x]-Subscript[c, dense][t, x]);
Subscript[Q, dilute] = \[Sigma]*k*(Subscript[c, dense][t, x]-K*Subscript[c, dilute][t, x]);
pars["MassSource"] = {{Subscript[Q, dense]}, {Subscript[Q, dilute]}};
Subscript[\[CapitalGamma], impermeable, conservative] =
MassImpermeableBoundaryValue[x == 0 || x == 1000, vars, pars];
ics = {Subscript[c, dense][0, x] == 0,
Subscript[c, dilute][0, x] == 2};
pde = {MassTransportPDEComponent[vars, pars] == Subscript[\[CapitalGamma], impermeable, conservative], ics};
tend = 1000;
cfun = ParametricNDSolveValue[pde, {Subscript[c, dense], Subscript[c, dilute]}, {t, 0,tend}, {x} \[Element] mesh, {K}];
Manipulate[Plot[Piecewise[{{cfun[10][[1]][t, x],
x <= leftInterphasePos}, {cfun[10][[2]][t, x],
x >= rightInterphasePos}, {Indeterminate, True}}], {x, 0, 50},
PlotRange -> {0, 20}], {t, 0, 1000}]
Again, this is taken almost exactly from here, with a few slight alterations to make it work for this specific problem. It produces the following manipulate;