To answer your questions - and these apply equally to AppGameKit Studio and Classic
1. I want to be able to update or change the questions from time to time after the app is completed.
Yes, but you'll need an API server running somewhere on the interwebs that your app checks with to find if there are any updates to the questions (and answers I assume)
2. I want to be able to store values somewhere in the cloud so they can access there own score.
Yes, but this complicates matters a tiny bit, as each user need their own unique ID (which is not the same as user-name) and to prevent cheating, some security on the API.
3. I want to be able to add a donate button.
If an app on desktop, no problem. If on iOS or Android, neither Apple nor Google are too fond of 'alternative' payments unless they get their 30% (exceptions exist for charities). So a donate button in the app is a big no-no if publishing on those platforms. However you can have a link to a website, and on that website have a donate button. What I did for a little app, where I had a big button marked 'About' which would take one to one of my blog-posts explaining how the app works, and a link to paypal for donations. Gotten a few as well, but it's not big money as such. A couple of dollars here and there.
And to expand a bit on 1 & 2:
The easiest is to write a little REST API app and host on an AWS (or other cloud provider) Ubuntu VM - but that assumes you have knowledge in a language that will do that - and some basic Linux knowledge. Also this cost money, the smallest VM is about 20USD a month.
An alternative is Google Firebase, but it can be a bit of a challenge to set up properly. The good news is, it's free up to a point (more here: https://firebase.google.com/pricing/). The other good news is that it uses a real-time DB so across the world, updates to your database will propogate through to the clients near instantly. Not sure though how well the more advanced features of Firebase is supported by AGK.
Third alternative is to host your own server at home - preferably on something simple, like a Raspberry Pi. Then you need look into getting a DNS address that will auto-update your IP address as I assume you're on a commercial ISP that don't include a static IP. Have a look at noip here: https://www.noip.com/ - one big advantage for this if you're a beginner is that you can write and run your server app in AppGameKit as well, as AppGameKit is available for free on the Raspberry Pi.