This might only be a partial bit of help - and I may be somewhat out of my depth on my current knowledge but you could stop using MM as the measurement basis for your document - this may sort out your required positioning issues.
Simply right click on a ruler in InDesign to change the measurement type.
Set grid gap and para leading to 13.965pt.
Edit: short explanation:
(Page size (pts) - margins (pts)) / number of wanted lines between margins)
(841.89 - 2*(43.89)) / 54 = 13.965
Setting up a document which I think is to your specs, the next baseline would fall after the margin, so if the textbox is set to the baseline grid and the bottom of the frame is set to the margin there's no room for the next line. Here I've drawn a guide at the next 14pt increment and it is below the margin:
Keep in mind that the dimension of a point is set by the user in Preferences. So assuming the default 1pt=1/72" and a live area of 54 lines or 756pts, I'm setting an even margin of 42.945 pts—(841.89-756)/2, which works for me:
Thanks for the responses. Really appreciate it.
1) I work in mm, picas and points interchangeably so that's not the issue. But thanks for responding.
2) I'd rather not change my text leading because that'll just mean all the grid dims will be irrational numbers and inefficient to work with. And besides, that leading isn't in my style guide. But thanks for the suggestion.
3) That's strange. I did the same exercise and the guide I drew at the next baseline grid increment sat right on top of the margin. You can see it in the screenshot. The baseline grid exactly corresponds to my margin values (to three decimal places). So a value of 42.945 pts works equally well but doesn't correspond to my outside and inside margins and, importantly, I still get the same issue.
I'm starting to think this might be simply because the dimension of a point corresponds to an imperial value, as Rob pointed out. So it's an imperial/metric conversion error. I've not had the issue when using an imperial sheet size so that'd make sense.