My reply is going to be slightly off-topic but I hope it's partially useful for you. I cannot speak to the upgradability of the models you mention but I can attest to using a Chromebook for development.
In short, I have found that using a VM on a Chromebook is OK for development but, to be honest, if you're set on really pushing the envelope, I'd recommend one of two alternatives. Generally, the VM solution is painful on less-than-powerful Chromebook hardware and I'd often find myself waiting for the computer to catch up.
Solution one
Get a VM slice from a cloud provider and use Codebox with it. I use this personally a lot and it's pretty awesome. The VM is doing a lot of the heavy lifting and Codebox is pretty robust, especially considering it runs in a Chrome tab. The biggest downside is if you're developing apps which need a UI/UX. I personally use it for Python and Java.
Solution two
Get a Mac or Windows computer.
If you do end up going the VM route, keep in mind that RAM and cores are going to be your friend.
Why do you use FTP instead of SSH? If you didn't know, you can do SFTP over SSH. So you could try if they allow multiple SSH connections (I doubt it though).
Here are some other cloud IDEs which I've used:
You can, of course, run it locally as well. You lose some of the bells and whistles (at least did when I last tried it, a year or so ago) of course but it does work. They also did have an offline mode in the works, but it doesn't look to have ever made it into primetime and there are very few recent references to it.
Codebox, on the other hand, seems to have much more of what's been discussed here - including off-line and actual collaborative editing. Haven't tried it more than a quick trial but it seems rather neat.
This could be done using css with services like motionmail, which create an animated countdown gif on the fly.
This should count down to Feb 20, 12:00 PM PST
If someone wants to grab this php script and throw it on a heroku server, we could do the equivalent for free. Or, if a few of you just sign up for heroku with my link, I'll earn a free box with which to put it up myself.
I wouldn't try to explain it, other than "we're going to use a container that contains python, git, and all the flask requirements".
Virtualbox install is point and click, so then you just need a step list on importing the vm you created (or if you go the vagrant route, the 3 vagrant commands), plus a final step to log into it. You would probably need putty installed on Windows machines.
The two main downsides are that you have to spend some time between classes creating the virtual box and testing it on both a Windows and a Macintosh host (and a Linux one, but most running linux will hopefully be slightly ahead of the - no guarantees though).
I'm thinking that with a web server running on your networked computer, they would be able to download the virtualbox installer, the vagrant installer, and a Vagrantfile. After running the first two, they can open a command line in that directory and type 'vagrant up'. That vagranfile would download the vm image from your local webserver. They don't necessarily have to know what all this is doing, just that once it completes, they'll have a nice little environment to start typing in. Also, any supporting programs/libraries (like mysql or apache) will install much easier in their linux vm than on windows.
I do agree with 01hair's comment below. If they get a native environment running on their windows laptop, they can just start coding by firing up a text editor. So it's all about what you want them to learn.
Going the other direction, imagine if you had setup an access point and a "server" running a many instances of Codebox (one per student). They could start typing code, running git, executing programs through their web browser, meaning you could go right into teaching them how to code. But they wouldn't have a working copy on their system.