Duck fat IS gorgeous, but expensive (where I live, anyway). Chicken fat - sometimes called schmaltz - is cheaper, and pretty good too. It's not the same as duck fat, but it's really yummy! I must admit I've never tried either on toast, though.
Â
I won't touch margarine with a bargepole. We do use butter, but I've occasionally subbed other kind of fats for spreading on toast - avocado, peanut butter, hummus, semi-liquid egg yolk, cream cheese (sorry, not helpful to you!), or basil or sundried tomato pesto (which is great, but make sure you get a brand without Parmesan cheese if that's a problem). For certain types of bread, dipping it in olive oil is great too. Or if I have a sandwich with jam or Vegemite or something - which is pretty rare for me - I just leave out the butter.
Â
Also, I've never liked the taste of coconut oil. Some people love it, but mine always tastes... dusty? I mostly save it to use for deodorant now. :p Worth a shot for you, though - refined is a bit less healthy than unrefined, but it tastes less coconutty, if that bothers you.