Good question. Indeed, the tense of the reason clause doesn't always match with the one of the main clause.
When the reason clause expresses the future of the main clause (the order of the two events is "main --> reason"), the present form is used in the reason clause. For instance, 疲れるから、学校に行きませんでした and 疲れたから、学校に行きませんでした are different. In the former example sentence, the speaker was not tired yet at that time, but they thought they would become tired if they go to school, so they didn't. Whereas, in the latter case, they were already tired so they didn't go to school.
On the other hand, when the reason clause expresses a state, the meanings are the same between the past form and the present form (e.g. 暑いから出かけませんでした。 = 暑かったから出かけませんでした。).
As for バイトがあるから忙しかった vs. バイトがあったから忙しかった, the meanings are almost the same, but the latter one would be more common. The former can be used for "I have to do part-time work in the future, so I was busy last week", but these kind of situation would be rare.
I think the most natural answer is バイトがあって忙しかった or バイトで忙しかった, by the way.