Have you actually tested your max heart rate? I work out with a HRM for Zone 2, but I'm just going off of Polar's zones.
From what I understand going more in depth requires either maxing out your HR (Steve House describes how you can do this in Training for the New Alpinism - basically sprinting uphill until you collapse, seems really unpleasant) or doing lactate testing in a lab.
Getting an accurate HR Max can be useful…I got into running several years ago and struggled early on with the zone based training recommendations until I realized it was just because my max HR was higher than the various apps estimate by default.
After running my first 5k race all-out, I recalculated my training zones based on a max of 205 instead of the 190 that the apps had estimated for me, and things started to make a lot more sense.
You can easily test relatively accurate max heart rate just by running a 5K race. Run a slightly slower than race pace, and go as hard as you can at the very end (last 1K) with the goal of sprinting to the finish line and vomit. It's unpleasant, but relatively safe during a race event with medical staff there at the end.
Also, max heart rate is only useful after you've been running for awhile. If your body hasn't started adapting to the change, MHR doesn't do much and often inaccurate. It's like 1RM in lifting, 1RM is meaningless in beginners as their bodies and central nervous systems haven't learned to fire all the muscles yet.
You should check out doing an Aerobic Threshold (AeT) test and an Anaerobic Threshold (AnT) test. I believe there are details on the Uphill Athlete site. But you should absolutely determine your AeT if you’re trying to base build in zone 2 (180-age is a good place to start, but it is likely lower). AnT is useful as well for higher zone training. It’s a more demanding test than AeT but will give you a more practical upper bound for speed workouts than max HR.
For my part, my Garmin estimates my lactate threshold heart rate. Whatever its accuracy, I find it's as good a number as any to set zones around. Otherwise, I have a good estimate of my max heart rate from a couple of times I've hit it incidentally, such as during a race. Max heart rate hurts, and it's not a place to go to during normal training.
A max HR test can be done on a treadmill in a gym too.
Unless you're used to reaching your max HR during exercise - something I don't suggest - it will be painful, but you're not supposed to hold your heart rate at this level for long either, just long enough for the heart rate sensor to register that level.
From what I understand going more in depth requires either maxing out your HR (Steve House describes how you can do this in Training for the New Alpinism - basically sprinting uphill until you collapse, seems really unpleasant) or doing lactate testing in a lab.