I finally found an early R60 final drive, but it was missing one f/d to swingarm stud, and another was bent. These studs are 46mm long, with one end threaded M8x1.25 (going into the f/d case) and the other end M8x1.0 (for the nuts to secure on the swingarm). They aren't available from BMW anymore and Bench Mark Works wants $16 per stud! I guess if you are competing in concours events that kind of originality is critical, but I'm not. Instead, I paid $12 (total) for 4 replacement studs made of hardened steel (12.9) alloy and completely threaded to M8x1.25 threads.
They're made by a brand called Obsidian and I found them on eBay. I bought the 4 studs (the black ones seen below), which also came with locking nuts and anti-seize since they're intended for exhaust manifolds. I am using blue loctite on the threads going into the case for good measure.
Stock M8x1.25x/M8x1.0 x 46 stud above, compared to replacement M8x1.25x45 stud. You'll notice on the top studs there is a dimple on one side. That's actually a 4mm hex so you can install the studs with a hex key instead of double nutting the studs and using a wrench. Nice touch.
As seen. Don't know why the case and splines look so rusty. In real life aluminum can't rust and the case is a nice grey, and the splines and nut/washer have a nice oil coat on them and are clean.
After getting everything together I test fit it on the swingarm and all looks well. Going to have to use stock nuts and wave washers though as the locking nuts that came in the kit are far too large for the application - there's enough clearance, but not enough threads to give me a warm and fuzzy secure feeling about them. Definitely happy I went this route instead of spending $32 on two stock replacements.