I am current with my GoDaddy account, yet on WordPress it says my domain expired three years ago. I paid what I thought was a one-time fee to transfer the account to a self-hosted one using WP interface after I [had] started with a free wordpress site.
The fee you paid did not include lifetime renewal at your domain Registrar, and you can identify your Registrar by checking your domain here: http://www.whois.com/whois/
What do I need to do to have the interface working again.
Pay your Registrar (including the expensive late fee) and then also be certain your domain is pointed to the GoDaddy nameservers.
Also, when I go to my domain...managed to get to the site through a link to a post on the dashboard, it says there's an error (404 - page not found).
I might be wrong about the above since I do not know how you could be accessing an expired domain.
I haven't updated anything or backed up anything. Do I need to start from scratch?
You still have a database if your GoDaddy account is still current, but how much work would be required to bring everything up to par in whatever way/s might be necessary could depend upon many things.
Do I need to pay for something on the WordPress end?
There is no such service available from wordpress.org, and wordpress.com does not do work at self-hosted sites.
I don't even know how to upgrade to the latest version and I don't even know what version I have.
Are you able to see a Dashboard at your self-hosted site?
note: Your wordpress.com Dashboard is completely separate and is not in any way connected or related to your self-hosted site.