When I convert layers to a smart object, the default canvas it's on is the size of the original canvas rather than the size of the object--I alawys have to go into the smart object file and crop it--is there anyway to change this default?
Can you post screenshot please? The default behavior when converting to Smart Object is to encapsulate object but not to change canvas to match object dimensions and there isn't anything in preferences to change that behavior.
By the way after converting object to Smart Object layer you may be confused by what you see as thumbnail in the Layers panel. To see only layer bounds click on Layers panel menu > Panel Options then change in the Thumbnail Contents to Layer Bounds.
I think it's impossible. You create Smart Object to protect all data on your layers. It allows you to find different crop area later.
I you want to crop smart object just Select All (CTRL+A) and use CTRL+J command to prepare a new cropped Layer before nonverting to Smart object. This way convert toSmart object a new created, cropped layer
yes this problem occurs every time there is some content in the file that is larger than the crop area, such as layer mask. The easiest to do is simply to convert the smart object into a smart object. This way it clips perfectly to visible content.