Repository: flutter
Issue: CupertinoNavigationBar flickers when previousPageTitle more than 4 characters
Labels: framework,f: cupertino,f: routes,has reproducible steps,P2,team-design,triaged-design,found in release: 3.22,found in release: 3.23

Also related to https://github.com/flutter/flutter/issues/90589

### Steps to reproduce

You can see it clearly if you run this code on dartpad:

```
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return const CupertinoApp(
        home: MyHomePage(title: "Home", backButtonText: ""));
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage(
      {super.key, required this.title, required this.backButtonText});

  final String title;
  final String backButtonText;

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    return CupertinoPageScaffold(
      navigationBar: CupertinoNavigationBar(
        previousPageTitle: widget.backButtonText,
        // automaticallyImplyLeading: true,
        middle: Text(widget.title),
        trailing: const Row(
          mainAxisSize: MainAxisSize.min,
          children: [],
        ),
      ),
      child: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            ElevatedButton(
              child: const Text("Go"),
              onPressed: () {
                Navigator.of(context).push(CupertinoPageRoute(
                    builder: (c) => MyHomePage(
                          title: "Oh dear",
                          backButtonText: "${widget.backButtonText}Back",
                        )));
              },
            ),
          ],
        ),
      ), // This trailing comma makes auto-formatting nicer for build methods.
    );
  }
}

```

### Expected results

I don't expect it to flicker

### Actual results


https://github.com/flutter/flutter/assets/545244/42ec4f04-0b1b-449f-9aaa-c62507c18e9b



### Code sample

<details open><summary>Code sample</summary>

```dart
[Paste your code here]
```

</details>


### Screenshots or Video

<details open>
<summary>Screenshots / Video demonstration</summary>

[[Upload media here]](https://github.com/flutter/flutter/assets/545244/42ec4f04-0b1b-449f-9aaa-c62507c18e9b)

</details>


### Logs

<details open><summary>Logs</summary>

```console
[Paste your logs here]
```

</details>


### Flutter Doctor output

<details open><summary>Doctor output</summary>

```console
[✓] Flutter (Channel stable, 3.22.2, on macOS 14.5 23F79 darwin-arm64, locale en-GB)
    • Flutter version 3.22.2 on channel stable at /Users/foobar/dev/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 761747bfc5 (2 days ago), 2024-06-05 22:15:13 +0200
    • Engine revision edd8546116
    • Dart version 3.4.3
    • DevTools version 2.34.3
```

</details>