Update to this, being a tinkering sort of person who is uninclined to just believe company reps who want to sell me things...
I have had several types and sizes of Intex pools, and old parts in bins because they might be useful sometime. I have observed that the part numbers apply to multiple different size pools, and the number of legs is proportional to the diameter, at least with round pools - which means I could get a larger or smaller liner and reuse the existing frame parts. 18' pools have 18 legs, 20' have 20 legs, 22' has 22 legs, 24' have 24 legs etc.
Everything I could find online looked like ultraframe and ultraframe xtr frame parts are very very similar if not identical, despite being called "not compatible." The only question was whether the old beams would fit through the new liner. So, being my stubborn self, I ordered an xtr beam and a pole connector. They came today and I took them out to the frame of the old pool. Honestly they are almost identical, with xtr being *very slightly* smaller, like a couple millimeters. Both sizes of legs and horizontal beams will go on both connectors. Because the old frame is larger my concern was the xtr liner not going onto the ultra poles. However, being such a close match, I'll get a liner, put it in the sun to warm and soften, then use talc to put the poles in. I'll update next spring whether it all really works.