Did you put your GPU on compute mode on AMD drivers?
In 2017 I had some RX 570s and never reached 29Mhs (XFX, MSI and Powercolor models)
But you should be able to reach at least 27mhs
I suggest you to watch and follow this video:
https://www.youtube.com/watch?v=JKM60VVIfRg&t=285sWorked for me all the times I did a bios mod
And another thing, maybe your card need more power or core clock to achieve more hashrate
A good start is: leave stock or even increase voltage and core clock, and increase the memory clock to see the limit, and then, when you achieve maximum clock you start to reduce voltage and core clock until you reach the desirable hashrate