My research tells me that there are several problems with autoscale and user controls. I've experienced that in the past.
Some solutions that appear to work in some instances but not all include one or more of the following:
1) AutoScaleMode == font
2) Speaking of AutoScaleMode, if you derive a class from ContainerControl ensure AutoScaleMode == inherit. Setting it to anything else effectively turns off auto scale mode.
3) Do not anchor right or bottom any controls inside a user control, instead, place a panel inside the user control and set dock == fill, then place your controls inside the panel.
4) Do not set any fonts or change the fonts from the default in the designer, instead set fonts in the form constructor or in the show event using the calculated font as a basis.
5) labels with autosize == false will not scale with AutoScaleMode
6) Ensure that all of your containers have the exact same AutoScaleDimensions set, if they are not the same, it will fail. If it is not set on all containers, it will fail.
7) Do not use both Anchor and Dock in the same container. One or the other will take precedence and break the other scaling.
8) If possible, try targeting .net 4.7 .. some of the scaling issues in 4.5.x and 4.6 were addressed.
Of course, the tried and true albeit much more difficult solution is to handle all scaling manually in the offending controls.
Stepping through copious amounts of code to figure out why this doesn't work has shown that when the code is compiled, some form properties are prioritized and therefore happen in the wrong order. AutoScaleDimensions is processed before Font ... therefore, if you set Font in your winform, it will revert the scale to the described font instead of the scaled font.
Consider this:
AutoScaleDimensions is set to 96DPI
Fonts scale to appropriate settings automagically ... lets say from 8pt to 12pt
Redundant Font call in the form constructor, sets the font to 8pt Bold
Head scratching trying to figure out why font is not right.
It's a real pain in the ass trying to resolve this and I've actually said screw it on some projects because quite frankly the effort wasn't worth it.