This works great, except that after you refresh the editor, the “&” character is replaced by the ampersand HTML code, at which point the “orderby” no longer works once you re-save. I’ve tried using various blocks – shortcode, HTML and text and they all have the same issue.
This is WP editor’s default behavior. This is implemented as a security feature to prevent malicious scripts from executing.
But you should be able to make the shortcode run by fixing the escaped ampersand and saving it immediately instead refreshing it and then saving w/o fixing the escaped ampersand.
I understand that this is kinda tedious its a minor thing worth working with for the sake of safety.
Alternatively, you can completely dodge this by adding the list on hooks through PHP filters if layout permits.