I think this has been fixed since 4.3.0, according to the changelog (https://gitlab.cern.ch/dss/eos/blob/dev/doc/releases/citrine-release.rst)
From memory, manually compacting the mdlogs on the slave might fix this issue, but upgrading to 4.3.x should certainly stop that occurring.
Master/slave setup definitely works with Citrine, I guess that documentation could use some updating We don’t run slave MGMs anymore right now, but we were doing so for a while (AARNet Citrine Upgrade Site Report).
QuarkDB isn’t necessary for Citrine either - we’re not using that yet in production, but I do have it running on a test cluster.