I've been using this exact distinction for a while now. Since Korean, my native language, has distinct terms for the system (<span lang="ko">๋ฐํ์</span>), the point in time (<ruby lang="ko">ๅฏฆ่กๆ<rp>(</rp><rt>์คํ ์</rt><rp>)</rp></ruby>), and the duration (<ruby lang="ko">ๅฏฆ่กๆ้<rp>(</rp><rt>์คํ ์๊ฐ</rt><rp>)</rp></ruby>), using a single spelling for all three in English always felt a bit blurry to me. This spelling convention helps bridge that gap and makes technical writing much more precise.
Personally, I find the meaning as indicated by Google's style guide the most clear, combined with an explicit case for hyphenation:
Runtime: use the system meaning. E.g. โthe runtime was updated last week,โ or โI'm using version 21 of the Java runtime.โ
Run-time: use the moment meaning, but only when used in the adjective position. E.g. โrun-time instrumentation is useful for finding bugs.โ
Run time: use the duration meaning. E.g. โthe run time was reduced by 5%,โ or โa run time of five minutes is unacceptable.โ In addition, when you want to use the moment meaning, but not as an adjective, this form should also be used. E.g. โtypechecking happens at run time in our implementation.โ
โ<cite>My Opinion on Run Time vs. Run-time vs. Runtime</cite> (by Bob Rubbens)