尝试看了下模板源代码,结果头昏目眩了...
记录下探索发现
P.S.如果问题涉及多个需求建议分点阐述
有如下的发现:
关于问题4: 最软的柿子是 "注"...只是因为你在"注"字前多打了一个空格
关于问题3: MWE中采用的是enumerate环境,在普通的文档类中要想简单地取消其缩进可以考虑 https://tex.stackexchange.com/questions/241983/remove-indent-when-using-enumerate 中的做法(虽然这样会去掉enumerate自动缩进的层次感并不推荐)
然而exam-zh环境对\solution环境进行了高度的自定义,这种做法并不能生效....代码逻辑有点看不动了...坐等肉丝老师(搓手手)
关于问题2:请查看exam-zh-doc中关于index选项的说明
关于问题1:我觉得也是不太好处理的...要适配不同长度的index得改不少地方
对于不同宽度的序号的默认显示效果如下:

在exam-zh中question/label-align以及problem/label-align的默认对齐方式均为right,在exam-zh-question.sty中:
\str_case:Vn \l__examzh_problem_label_align_tl控制了problem不同情况下item的缩进方式\str_case:Vn \l__examzh_question_label_align_tl控制了question下item的缩进方式
\str_case:Vn \l__examzh_question_label_align_tl以及\str_case:Vn \l__examzh_problem_label_align_tl通过不同的弹性长度来调整标号的水平位置。
....嗯...但我没改出来呜呜
在exam-zh-symbols.sty中提供了\__examzh_symbols_frac_calc_str_num:nn用于获取数位,结合不同分类情况也许可以实现...
听说 鱼香肉丝先生正是 exam-zh的 maintainer,那就交给他好了.
还有一个小问题,如果需要输入(12分),请使用选项[points=12]而不是直接输入。