"But you example does not show how to modify the padding above/below each value of the legend item."
You could try VALUESATTRS= option.like this:
proc sgplot data=have ;
scatter x=weight y=height/group=_s ;
keylegend /valueattrs=( size=12 family='courier') position=right title='ss ';
run;
If it was not fit your demand, yes, you should try text annotation.
"It also does not show how to change the color of the axis and ticks on the axis."
As ballardw pointed out , GTL could do it , text annotation also can do it .
https://communities.sas.com/t5/Graphics-Programming/Pi-Day-Challenge-Draw-Newton-s-diagram-for-approximating-pi/m-p/863164
"When it comes to yaxistable, I doubt it would solve the problem with a linear axis."
Check this:
https://blogs.sas.com/content/iml/2019/09/11/axis-tables-rotated-text.html
If it is still not fit your requirement, yes , try text annotation.
... View more