For iOS 12+ only, 2019 onwards...
An ongoing example of Apple's occasional bizarre incompetence, where problems go on for literally years.
It does seem to be the case that
cell.layoutIfNeeded()
return cell
will fix it. (You're losing some performance of course.)
Such is life with Apple.