Yet another way of setting this out:
You are positing that payments by customers (£27) + tip (£2) = incorrect original bill (£30), which is incorrect by £1. However, payments by customers of £27 already include the tip, so you're immediately double-counting the tip. Your revised equation would...
This. You just need to follow the cash flows:
1. £30 from customer to restaurant
2. £3 from restaurant to customers
3. £2 from restaurant to waiter
This ends up, as HKFC says, with £25 in till, £2 in waiter's pocket, £1 each in pockets of three customers - add them up and that's your £30.