According to this answer the POW increases with the number of tx in a bundle. How is this accomplished? I thought the bundle-hash is calculated from all tx and then hashed with the nonce as part of the POW. So only the nonce has to change, which would be independent from the number of tx. What am I missing?
The bundle hash is calculated from the "essence" parts (address, (obsolete)tag, timestamp, value, bundle index) of all transactions.
Then the bundle hash is inserted into all transactions of the bundle.
For all transactions that have a negative value, i. e. they spend IOTA, a signature of the bundle hash is added to the transaction, too.
Then, starting from the "last" transaction of the bundle, tips are selected and added into the transaction.
Now that the transaction is almost finished (everything except the nonce), some PoW is performed, i. e. it is tried to find a nonce so that the transaction hash ends with at least 14 (=Min Weight Magnitude) zero trits. You can also see that when looking at the tryte-encoded transaction hashes - they have nines at the end (unlike addresses or bundle hashes who only very rarely have this).
When the PoW of the last transaction is finished, its hash is added as trunk to the next transaction, and PoW is performed for this transaction as well.
As a consequence:
You need to perform PoW individually for every transaction you attach to the tangle. When reattaching a bundle (change the selected tips), you have to compute PoW for all transactions again. When you promote a bundle, you only have to calculate PoW for one transaction (the zero-value transaction you use to promote your bundle)
Nonces are being added to transactions, not to bundles. So for each transaction in the bundle the user have to do a small Proof-of-Work: to find such nonce that will result in the hash of the transaction with a certain number of trailing zero-trits.
So the POW required for a bundle increases linearly with the number of transactions in that bundle.