All these tests are run on Lemmy tag v0.6.74, using
cargo build --release.
opt-level=z(optimize binary size): 21mb
Based on these numbers and the difference in compile time between options (which I didnt record), lto + strip looks like the best option to me.
This is also useful: https://github.com/johnthagen/min-sized-rust