IMHO, "za" and "zbyt" are interchangeable in this kind of sentence.
Good question; there is a comment somewhere in another thread where it is explained where/when the two cannot be interchanged. Also, there is the case where "za" means "behind".
In this course there probably is no sentence with "too" where they're not interchangeable. The 'exceptions' are definitely some higher level stuff, in a conversation with a native you can probably use any of them, worst scenario is that you will just sound a little bit strange, but your interlocutor may even not notice what exactly was wrong.
I wrote 'It costs too much' and was marked wrong. If you say 'Koszt jest za wysoki' in Polish, are you not basically saying 'It costs too much?' Or is there a different way to say that?
"Kosztuje za dużo".
Well, your phrase is a lot more common, but in fact it usually simply refers to the price, "cost" may be more than just a price. For example "the total cost of an investment" consists of numerous things.