There is an option far better than either suggested. In my experience using the --callgraph=lbr option produces far more reliable callstacks than relying on frame pointers. Sadly it's only available on Intel cpus at the moment.
https://lore.kernel.org/lkml/Yz%2FcpNTSacRMh1FK@gmail.com/
Further, precise events are fixed in Linux 6.2: