Your analysis should always be guided by existing knowledge and theory. Don't blindly run many models and pick the "best" one, even if you cross-validate, because you may simply be overfitting to the test set.
In my understanding, there is a reasonable assumption that there may be an interaction between smoking and BMI, so it would make sense to include it.
The relationship between BMI and almost anything else is probably nonlinear, so it would make sense to use a spline transform of the BMI. Frank Harrell's Regression Modeling Strategies provides an excellent overview of splines. These are better than square or other polynomial transformations. Of course, you can use interactions between smoking and spline-transformed BMI.
A binary smoking variable is very crude. "Smoking" can mean two cigarettes per day, or forty. There will be a difference. If you can get an estimate of the actual number of cigarettes smoked per day, it would probably make more sense to include this numerical predictor. You can also spline-transform it. Or use an interaction with BMI (which becomes hard to interpret).
In any case, use proper scoring-rules to assess your model, not accuracy.