I think SSR tends to be more performant for FMP at the beginning of the session (notably with a delay before JS becomes interactive), but assuming you are hydrating the app, I think you end up sending more data over the wire and may get into waterfall situations for subsequent page loads.
If done very well, I think SSR would be marginally more performant than CSR, but it's nowhere near as clear a winner as it's made out to be, and the added complexity is often not worth it IMO.