Since cjk-latin-spacing not working with inline eqution, I used show set to make it work. However, as title said, typst version 0.14 ~ 0.15-testing will result in equation offset after line break or a block level element.
Minimum working example:
normal
#list([$1/2$
])
#show math.equation.where(block:false): it => h(1em,weak: true) + it + h(1em,weak: true)
set left space
#list([$1/2$
])
#list([$1/2$
#block[]
])