Right now, as of MODX 2.x, the setting server_protocol does not do anything (?). The setting has the values http and https. Anyone would expect the choice here to be honored by MODX, but it does not. The actual protocol is fetched automatically by evaluating the request which is done by inspecting various server settings and values.
Sometimes you want to set the value absolute, and sometimes the value is not evaluated correctly by MODX because of various shared host solutions (se relevant issues). Sometimes you also know that you are either always serving everything over http, or you know that everything is served over https.
#13259 and perhaps more
What does Wayfinder et. al. use to determine how to generate full URLs? If it just uses the current automatic settings, you'd end up with all kinds of mixed up URLs because of caching.
The automatic setting it how MODX does things today, as you can not force either http or https automatically. MODX determine if the request is a secure one by doing this: https://github.com/modxcms/revolution/blob/fbf126690f6ce903faeaeb9f1d958211fc2203c9/core/docs/config.inc.tpl#L49-L57
+1 for honoring server_protocol setting to override automatic fetching of protocol