This documentation discusses how to change the storage class for RabbitMQ, which is basically done by scaling down the service and removing the existing PVCs and adding/modifying a transformer to set a different storage class. The documentation notes this is a destructive event, so your caveat of "while retaining the old data" isn't followed here.
"IMPORTANT:
Re-creating the PersistentVolume is a destructive event. The allocated PersistentVolume must be deleted. All exchanges, queues, bindings, and any unread messages will be destroyed.
Performing the following steps causes an outage while RabbitMQ pods are stopped and restarted. Make sure that you plan for an outage before executing the steps. Note that the following instructions are only for RabbitMQ pods."
Source: Configure RabbitMQ to Use Block Storage
https://go.documentation.sas.com/doc/en/sasadmincdc/v_062/calsrvinf/n00000sasmessagebroker0admin.htm...
--
Greg Wootton | Principal Systems Technical Support Engineer