Elena Rybakina stunned defending champion Aryna Sabalenka at the Cincinnati Open to set up a semi-final meeting with Iga Swiatek.