Summary
The price shown by the vtex.product-price block diverges due to unit multiplication roundings.
In the example below, the product's price is $47.50 and its unit multiplier is 0.25.
So, for one unit (0.25), the individual price is 47.50*0.25 = 11.875.
However, when a checkout simulation is performed for this product, the sellingPrice returned is rounded to only 2 decimals: 1187.
This rounded price is being used to calculate the component's sellingPrice, which is the price of an entire unit, not considering the multiplier. Since it's rounded before the calculation, the final sellingPrice is incorrect. In this case, 11.87*4 = 47.48.
A side effect caused by this issue is that the sellingPrice is considered different than the product's listPrice, and then the listPrice is displayed as well.

This behavior only occurs in search context, but not in the PDP. In this case, the sellingPrice is correct.
Simulation
In a search context, load a product that has unit multiplier different than 1 and which unitMultiplier*price results in a number with more than 2 decimals.
Workaround
It is possible to develop a custom component to bypass this problem.
Also, there is a less viable possibility that is to only register price values that when multiplied by the unitMultiplier won't result in 3+ decimals fractions.