The old form API is still supported by PayPal, but they don't offer it as an option when you want to set up a new payment button. If you have an old form already, you can carefully adapt it to work for your new scenario.
The reason PayPal are pushing people off of the form is because the user can easily edit the price, just as you are doing using JavaScript, or using one of the many browser debugging tools available these days. This means it is really easy for someone to edit the price to a lower amount, or adjust one of the other fields in the form before submitting it.
If you want to be able to charge different amounts, you may want to look at the PayPal API instead, which lets you set things up server-side, where there is no danger of simple HTML editing.