To underline the outline’s title, you can wrap it inside a box with a bottom border like so:
#outline(
indent: auto,
title: box(
stroke: (bottom: black),
inset: (
bottom: 0.4em,
right: 4cm
),
text(size: 1.5em)[Contents]
)
)
Regarding the same font size and coloring, I think you might want to use a show-set rule like this:
#show outline: set text(font: "Public Sans", size: 12pt, fill: black)
EDIT: Result with both of these changes