Deciding which field should be on Product node and which on product variations
I think you're on the right track. If I'm not mistaken, a product display could be something like "Tee Shirt". The product variants would then be something like color or size. It's the same product with the core information, but the variants would be what ever is different, be it storage size or any other kind of variation from the original. 

Edit: The product display can display any products. The variants are dependent on the actual product but the display can show anything.