First thing I'd do ... a site backup. code directory + database dump + moodledata directory (moodledata/filedir minimal). You should have something like cPanel tools to do that.
Download the backups to your local computer.
Second thing I'd do ... make a backup of each course ... with users.
Download each course backup.
Large Prefix is a database server tweak ... you don't have access enough on shared hosting to tweak settings for the DB server which is shared.
About them getting round it .. not really round it ... just using a different DB server that does have Large Prefix and other settings as default that happen to meet requirements for higher version of Moodle.
'.... need to upgrade to VPS/Dedi which at the moment, I cannot justify ...'
By justify do you mean cost? As far as requirements for higher versions of moodle, should you continue to use moodle, that's justified in a technical sense.
Not only are DB server tweaks needed but also version of DB server and version of PHP just prior to upgrading versions higher than your 2.9.x in a 'march' of your moodle upwards.
And, begin with the firist hop upwards to 3.1.highest info:
If your site is still up, login as admin, go to admin menu, Server, Environment. Update the component. In the drop down pick list for choosing the target version of Moodle information on environment page should change telling you what is needed prior to the attempt to upgrade to version selected in the drop down.
Also ... do you have any addons/plugins? Those may/may not have kept up with newer versions of Moodle. Check https://moodle.org/plugins/ for the plugins you have in your 2.9.x to see if there is a compat version for destination version.
Note: themes are plugins ... you will be changing your theme along the way.
Please check your PM messages on this system.