I cook with lots of cream in my sauces, and it's really difficult to do without.
Yoghurt will separate, and will probably not thicken the sauce, or taste nice. You can try it, but add it at the very last minute and don't boil again. Even then, it will not mix in homogenously, but will make little white spots all over everything.
A potato gratin can be made with cream or creme fraiche, but you can also use a thin stock. Looks like this is your best bet for the fish pie. It's not at all creamy, of course, and works with potatoes because they soak up the liquid, so including potatoes in the mix will bind the ingredients together more.
I should persevere with the roux, though. You can spice up your roux with some stock cube, or chopped anchovies, as we're talking fish here. If well seasoned, most flours -except wholemeal - should add an interesting taste and will hold the fish and vegetables together. Other alternatives for thickening sauces include gravy powder, or tomato paste. You can also thicken the mixture with boiled, mashed potatoes or a few spoons of instant mashed potatoes, but the instant kind may contain some dairy (dried milk), so check the ingredients.