Just to finish up this discussion, below is the code I ended up with for my button that is compatible with both pre-15 and post-15 code.
I think that if you subclass UIButton in your current code, (particularly if you use titleEdgeInsets and/or imageEdgeInsets, you need to test for breaking changes in iOS15.