I think to make the Polish sentence sound natural, that would need to be specified a little bit, at least into "He came/arrived too early for dinner": (On) Przyszedł/przybył za/zbyt wcześnie na kolację.
Can 'zbyt' replace 'za' in this sentence given that 'zbyt' also means 'too'? Thanks in advance :)
zbyt and za have the same meaning and can be often used interchangeably. They can be both used in this sentence.
( keep in mind they mean too when it is before the adjective or adverb, English has different too at the end of the sentence (also), we use different words for that)
No. "zawczasu" is quite an old-fashioned word (it doesn't even have an entry on Polish wiktionary) and it means "earlier", not "early". So you could probably say "Przygotowała kolację zawczasu" to mean "She prepared the supper earlier, so she would have more time for other preparations for the guests' visit".