You have your whole outline wrapped in an align(bottom + right, ..) block. The alignment of the outline then propagates to the outline entries, thus the individual lines of the title are also right-aligned. You can fix this by overriding the alignment inside the box containing the title, similar to how you did it for the number:
#let my-outline-row(..) = {
set text(size: textSize, fill: textColor, weight: textWeight)
box(width: 1.1cm, inset: (y: insetSize), align(left, number))
h(0.1cm)
box(inset: (y: insetSize), width: 100% - 1.2cm, )[
#set align(left) // <-- Add this line
#link(location, title)
#box(width: 1fr, repeat(text(weight: "regular")[. #h(4pt)]))
#link(location, heading_page)
]
}