It's flaky in both 2.3 and 2.4. I think there's a race condition between the metric being recorded and the response making it back to the client. When the response making it back wins, the test checks that the metric has been recorded and doesn't find it:

io.micrometer.core.instrument.search.MeterNotFoundException: Unable to find a meter that matches all the requirements at once. Here's what was found: |  
-- | --
  | FAIL: No meter with name 'http.server.requests' was found. |  
  | OK: Meters with type timer were found.

There's also a race condition in Micrometer's error reporting. The search queries the registry and it fails to find what it's looking for. When it's reporting the error it then queries the registry again to report what was and was not found. If the missing meter was registered between the search and the error report being generated, you end up with a failure that looks like it should have succeeded:

io.micrometer.core.instrument.search.MeterNotFoundException: Unable to find a meter that matches all the requirements at once. Here's what was found: |  
-- | --
  | OK: A meter with name 'http.server.requests' was found. |  
  | OK: Meters with type timer were found.

I've opened https://github.com/micrometer-metrics/micrometer/issues/2307.