Having just refurbed a master cylinder I'm pretty sure the piston is seized in the forward position and as you say, not returning.
You will have to remove the end seal with it's tiny circlip retainer first before trying to extract the piston with spring.
Getting the circlip out is really difficult as often its corroded in (you may not even be able to see it at first if the corrosion is bad) Also the piston end is hard to get anything on it to grip and pull it out. The ideal tool is a tiny Mole grip (if one was available?) or grind the ends slimmer on an old one to allow access.
Another method and probably easier is to get a scalpel and just cut through the old outer/end rubber seal (they have no metal content) Once this is cut away and dug out, the piston will/might come back a little more helping you to get a better grip on it, but you will still have to get the wire ring circlip out with a very pointed tiny screwdriver.....The pistons are available if you butcher the old one at a fairly low cost. Heating carefully with a blow torch will expand the cylinder away from the steel cylinder and its inner pressure seal which will also help things to move. Smearing hand soap to the alloy will act as a safety guide as far as over-heating goes. The soap will go black if too high a temperature is reached. This will give confidence when using the torch.
Hope these details help?
PS Just thought of a different approach. Maybe you could rig up another (any) master cylinder with fluid and hose to the cylinder you want to refurb. Then you could pump the brake fluid in and hopefully push out the old piston. The comments as regards the seal with its circlip will still apply as above. As far as I know brake hoses can be connected any way round so you use the procedure from a donor machine's front brake, but just loose the brake fluid as the only expense.
Les