If I do a fast sync when connecting to Ethereum the first time, will all past Events (written into smart contracts) be downloaded along with the block headers?
Yes. I added tags contract design and solidity because emitting events correctly is crucial for clients that depend on event logs to sync up with the contract state.
Yes, event emissions will arrive as expected.
Hope it helps.