In an online shop shipping physical goods you really need a shipping address, otherwise it's hard to know where to send the goods. In a few cases customers might want to enter a different billing address, but mostly not (make sure by doing some research in the existing customer database if you can). So it's preferred to give the option "**[ ] Send invoice to a different address**"

So you're right to default to both being the same which makes the form look much easier in the beginning. Those users actively selecting to enter a different address will not be surprised if the **form has more fields after they ticked the checkbox**. In other words, the default should be a checkbox that is not selected.