I think the solution is to use the extension above (free) for the labels that are the only components that I remember that do not allow percentage values.
Or also use the method that you expose, but both options putting all the size values ββof the components that allow percentages.
So you just use the extension and so you keep your app responsive.
So you dedicate a responsive block to each component of your application with that extension?