How to force wp excerpt to use br tag?

why don’t you use get_the_excerpt instead. That doesn’t have the paragraph marks.

You can even use your own filters. something similar.

<?php
$my_excerpt = get_the_excerpt();
if ( '' != $my_excerpt ) {
    // Some string manipulation performed
}
echo $my_excerpt; // Outputs the processed value to the page
?>

view more on the codex

https://codex.wordpress.org/Function_Reference/get_the_excerpt

There is a the difference between get_the and just the excerpt. Returning excerpt with out “get” automatically includes the echo. It also cleans the result and adds paragraph marks. If you want to manipulate before returning you need to “get” the excerpt content, manipulate, and then echo it.

So use

<?php echo get_the_excerpt(); ?>