kriand I almost have it working using your method. Your math was a bit off, I had to use -ViewportRight instead of ViewportRight for the right side button's size, because otherwise the button would be displaying off the right side of the screen. But otherwise, it works!
But I have another problem, my buttons overlap. See image attached.
The right side button (purple) overlaps the left side button (green) whenever I try to scale the preview window below the original size. From what I understand, it should be calculating the viewport's scale every tick, so I'm not sure why this is happening. I am using the Scale Inner setting in my project properties.
Anyone have any ideas?