You can do all of that on the poor old P4 machine, it's just a question of pain (as in how much are you willing to put up with!)
If you can remove the necessity for remote desktop (use SSH) and remote windows server, (and host your SQL server locally on your workstation/laptop or whatever then you can do most of the rest with a $35 raspberry pi, the power consumption is like 2.5Watts, so you barely notice it's there!
on the other hand, it sounds like you want a big and meaty test rig for running VMs and playing with new software. in which case, get the best system you possibly can. the reason I say this is that it won't be long before running just 1 VM isn't good enough, you'll want to run a couple.
then your DB server will grow,
you'll decide that you want a separate web server from DB server, want to test sites in ASP and need windows hosting as well as Linux hosting. then you might want to start investigating mySQL as well as MSSQL server and want yet another box...
the trouble with VMs is that they effectively cost nothing so you keep wanting more and more... so don't start with a system where you are limited as to what you can comfortably run from the start...
I do see a couple of issues with what you're saying however...
1- Firewall (does it make a big difference at home? In my college they set up a server just for dedicated firewall, and it makes a lot of difference due to the huge security needs they have)
2- Cloud or FTP file storage (since I'm away from home the entire week, and it would be nice to get some media in case I might want to see it/have an alternative to dropbox/GDrive)
3-Can I access it from the internet using VPN?
1, you'd need to give some more information on why the college decided to run a physical server instead of a firewall appliance (like an ASA or watchguard, checkpoint, sonicwall, net screen, big IP etc...
it might be that the initial investment was low, did they re use hardware and just download and install smoothwall? that's free and very easy to configure, making the cost of a dedicated firewall about 1 hour of staff time to set it up. compared to the thousands you might pay for the devices I mentioned above (then plus training and configuration)... you can see why they'd go server.
Alternatively they might have needed to integrate active directory authentication, such that they can limit access to specific ports by user name (e.g. some people may be allowed to use services that you are not, or if there is a proxy part of that server, maybe they wanted AD authentication for websites
Long story short, doing something just because someone else saw good results is not a great idea, as your requirements and ability to set it up may be different...
also your home isn't a college and you have vastly different numbers of users...
there is no harm is setting up the server as a firewall (except that you put a windows box that contains all your data in this scenario on the internet, and assume that the box will work ok, assume that there are no bugs etc...)
2 - cloud services.
I'll forgive you because it's a buzz word,
but cloud services usually have multiple endpoints, (like data stored across many data centres, and in those data centres there are usually visualised machines running on clusters of hyper visors,
such that the failure of one physical machine means that VMs all migrate onto a different host, rather than fail and bring down services. loss of an entire data centre means that services fail over to an alternative data centre...
the internet is normally represented as a cloud on diagrams because it's a mass of connected computers that you don't know or see. cloud hosting is a mass of connected computers, not just one box.
one person can't make a cloud on their own, no matter how many people tell you that they set up a traditional physical server at their house, data centre or whatever and installed , -that's not cloud hosting, that's just plain old regular hosting.
Seriously, when you good personal cloud some of the top results are companies like sea gate telling you that a single disk in an enclosure with a network port is personal cloud storage... -before that buzzword came along that was plain old regular NAS!
3 - assuming that you set up a VPN endpoint, and the appropriate DNS services, there is no reason that you can't use a VPN to access your files.
personally I use SSH and then SCP to transfer files over encrypted connection, (and use no-ip to get to my home server as I have a dynamic address...)