It turns me out that ANA mileage system sucks. When you fly United, or other Star Alliance airlines using PEX, the discounted economy ticket, you'll only get 50-70% of actual miles. That's why I only get 8500 miles or so with a roundtrip flight to San Francisco, which should be over 10k miles.
With United Mileage Plus, you're always guaranteed to get 100% of miles even if you fly with discounted price, and there're no problems if you're crazy for ANA: you can get miles to your UA mileage even when you fly ANA Japan domestic flights.
Looks like I should switch my mileage (and possibly my credit card) to United's. I know that United sucks too, but it should "suck less" in terms of mileage.