Repository: flutter
Issue: [ZoomPageTransitionsBuilder()] effecting any button's OverlayColor that pushing a route.
Labels: framework,a: animation,f: material design,has reproducible steps,P3,team-design,triaged-design,found in release: 3.19,found in release: 3.22

### Steps to reproduce

1. Create a new flutter project.
2. Run the below code.
3. Press Navigate Button.

### Expected results

`OverlayColor` animation should continue during the transition and finish when the transition is finished so when the route is popped the button won't have any `OverlyColor`.

### Actual results

`OverlayColor` animation is broken when using `ZoomPageTransitionsBuilder()` leading to any button having an  `OverlayColor` when the route is popped.

This will effect any button pushing a route through out the whole application which is disturbing in production.

### Code sample

<details open><summary>Code sample</summary>

```dart
import 'package:flutter/material.dart';
import 'package:flutter/scheduler.dart';

void main() {
  timeDilation = 10;
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.red[900]!),
        useMaterial3: true,
        pageTransitionsTheme: const PageTransitionsTheme(
          builders: {
            TargetPlatform.android: ZoomPageTransitionsBuilder(),
            TargetPlatform.iOS: ZoomPageTransitionsBuilder(),
          },
        ),
      ),
      home: const MyHomePage(),
    );
  }
}

class MyHomePage extends StatelessWidget {
  const MyHomePage({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: TextButton(
          style: ButtonStyle(
            fixedSize: MaterialStateProperty.all(const Size(200, 50)),
            overlayColor: MaterialStateProperty.all(Colors.red),
          ),
          onPressed: () {
            Navigator.of(context).push(
              MaterialPageRoute(builder: (_) => const SecondPage()),
            );
          },
          child: const Text('Navigate'),
        ),
      ),
    );
  }
}

class SecondPage extends StatelessWidget {
  const SecondPage({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      backgroundColor: Colors.blue[900],
      appBar: AppBar(),
      body: const Center(
        child: Text(
          'SecondPage',
          style: TextStyle(
            color: Colors.white,
          ),
        ),
      ),
    );
  }
}

```

</details>


### Screenshots or Video

<details open>
<summary>Screenshots / Video demonstration</summary>

| Android    | Broken iOS (with zoom transition) |  Normal iOS |
| -------- | ------- | ------- |
| <video src="https://github.com/flutter/flutter/assets/95232508/df2a2137-05e6-4a9d-91ec-8ce1b6d627ba"> | <video src="https://github.com/flutter/flutter/assets/95232508/0dac4a9f-17e0-4711-8c4a-0ee1aafdd8f9">    | <video src="https://github.com/flutter/flutter/assets/95232508/1f28e299-9d86-41e4-a583-4a8d5b594422">    

</details>


### Logs

N/A

### Flutter Doctor output

<details open><summary>Doctor output</summary>

```console
[✓] Flutter (Channel stable, 3.19.5, on macOS 13.5.2 22G91 darwin-arm64, locale en-EG)
[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 15.1)
[✓] Chrome - develop for the web
[!] Android Studio (version unknown)
    ✗ Unable to determine Android Studio version.
    ✗ Unable to find bundled Java version.
[✓] VS Code (version 1.87.2)
[✓] Connected device (2 available)
[✓] Network resources
```

</details>