It would be nice that SynapseML LightGBMRegressor implements callbacks parameter which accepts array of custom callback functions which can be used for example for pruning in Optuna HPO, That parameter already exists in standard LightGBM.
Code example in standard LightGBM:
pruning_callback = optuna.integration.LightGBMPruningCallback(trial, "auc")
gbm = lgb.train(param, dtrain, valid_sets=[dvalid], callbacks=[pruning_callback])