I have a strange situation where when I add a rich rule, the OS shows "success", I reload firewalld, but then rule is missing when I run "firewall-cmd --info-zone=public"... it is also not found at the relevant zone file (public.xml).

The rule is as follows (only IP values were changed for security):

It is a rule to allow specific list of 4 public internet subnet objects as the source (e.g. 4.4.4.4/26 and 5.5.5.5/26), represented as an ipset object, to access to my server (it is the destination, also a public IP), only to port 465 TCP - all of this - in the public zone (my default zone and only one with rules):

Only the last of your firewall-cmd commands has the --permanent option. If you don't specify this, then the rule will go away when you run firewall-cmd --reload or systemctl restart firewalld. Is that what you're running into?