You'd have to download then upload your MySQL database - should be straightforward enough, using the tools available through most control panels. You may have to manually alter some of the settings in your MySQL database, to match the name of your new database; and you may have to alter some of your paths if your username at your new host doesn't match the username at your free host.
I don't think this is a huge catastrophe. It isn't a click, click, click, done operation, but it isn't rocket surgery. You may need to consult the WP support forums a few times, and may need to ask your host for additional help - but this should be possible.
I recommend shutting down all commenting capability, then trying the migration while your old account is still up and active. Just ask your new host if they can temporarily let you use a subdomain while you complete the move, instead of transferring your domain over immediately.
Forgot to add: if WP has an import/export entries feature, things could be a little easier. You'll just follow WP's directions for exporting your entries from your existing location, then importing them to your new location. (I evaluated WP several years back, but ended up going with another package as WP just wasn't that intuitive - so I don't know what features WP has or doesn't have, in the way of import/export functionality.)