What you are experiencing is not unusual but I agrees super frustrating. It's all to do with stupid TPI and it not being synced. Also the boiler is cycling to the total system demand and the UFH is cycling to the zone's demand. Its more luck than design if those two cycle together. This was my sole reason for moving to OpenTherm and now more recently an HM80 for the UFH.