Не делай себе велосипед

Настраиваешь парковку в Zmax, при этом высоту по Z делаешь больше чем надо. Например, у тебя 300мм, делаешь 350. Прошиваешься, паркуешь Z (паркуется внизу), координата Z=350. Гонишь стол вверх до касания соплом (через бумажку, если надо). Выравниваешь стол, попутно может покрутить ещё высоту по Z надо будет. Когда все закончишь - смотришь на какой высоте у тебя стоит стол по координате. Например, Z=48. Берешь математику, применяешь

350-48=302. Вот эту цифру вписываешь в размер по Z, именно эту координату получает стол при парковке внизу.
Далее правим прошивку, заливаем, паркуемся. После этого отправляем G1 Z0 и наблюдаем волшебство, как стол едет вверх и останавливается, почти касаясь сопла.

Вот и все, и не надо никакого зоопарка с концевиками.
Оптику при таком сценарии нужно надёжно закрепить внизу и флажок сделать нормальный, чтоб не гнулся. От него будет зависеть точность первого слоя.