To clarify a few things, potassium is actually more alkaline than sodium or calcium, so if acidity was the cause, then I don't know why they would be displaced by either of these. Acids will have a stronger affinity for potassium than they will sodium, calcium, or magnesium.
As an aside, mercury is actually alkaline and reacts with acids: