Repository: flutter
Issue: DraggableScrollableSheet from showModalBottomSheet snaps to unspecified extent
Labels: framework,f: material design,f: scrolling,P2,team-design,triaged-design


## Steps to Reproduce
1. Paste the code from the sample below under MaterialApp's **home** property 
2. Run the app and press the **bugs** button
3. A draggable scrollable sheet will appear.

**Actual results:**
Sometimes, when you want to dismiss the bottom scrollable sheet by dragging, it will stick to the bottom instead of disappearing, even though there are only 2 snap sizes specified (0.8 and 1.0):

https://user-images.githubusercontent.com/54116985/205342166-894b8341-3f44-4620-8990-3ba1ed2a7df2.mov

**Expected results:** <!-- what did you want to see? -->
Proper dismiss behavior should be implemented.

<details>
<summary>Code sample</summary>


```dart
import 'package:flutter/material.dart';

class TestScreen extends StatelessWidget {
  const TestScreen({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: ElevatedButton(
          onPressed: () {
            showModalBottomSheet(
              enableDrag: true,
              useSafeArea: true,
              clipBehavior: Clip.hardEdge,
              shape: const RoundedRectangleBorder(
                borderRadius: BorderRadius.only(
                  topLeft: Radius.circular(20),
                  topRight: Radius.circular(20),
                ),
              ),
              context: context,
              isScrollControlled: true,
              builder: (context) {
                return DraggableScrollableSheet(
                  expand: false,
                  initialChildSize: 0.8,
                  snap: true,
                  snapSizes: const [0.8, 1.0],
                  builder: (context, scrollController) {
                    return CustomScrollView(
                      controller: scrollController,
                      physics: const ClampingScrollPhysics(),
                      slivers: [
                        SliverPersistentHeader(
                          delegate: TestSliverAppBar(),
                          pinned: true,
                        ),
                        SliverList(
                          delegate: SliverChildBuilderDelegate(
                            (_, index) => ListTile(
                              title: Text("Index: $index"),
                            ),
                            childCount: 50,
                          ),
                        )
                      ],
                    );
                  },
                );
              },
            );
          },
          child: const Text(
            'bugs',
          ),
        ),
      ),
    );
  }
}

class TestSliverAppBar extends SliverPersistentHeaderDelegate {
  @override
  Widget build(
      BuildContext context, double shrinkOffset, bool overlapsContent) {
    return Container(
      color: Colors.pink,
    );
  }

  @override
  double get maxExtent => 100;

  @override
  double get minExtent => 50;

  @override
  bool shouldRebuild(covariant SliverPersistentHeaderDelegate oldDelegate) =>
      true;
}

```

</details>

<details>
  <summary>Logs</summary>



```
[!] Flutter (Channel master, 3.6.0-14.0.pre.2, on macOS 12.6 21G115 darwin-arm64, locale ru-RU)
    • Flutter version 3.6.0-14.0.pre.2 on channel master at /Users/gidrokolbaska/Developer/flutter
    ! Warning: `dart` on your path resolves to /opt/homebrew/Cellar/dart/2.16.0/libexec/bin/dart, which is not inside your
      current Flutter SDK checkout at /Users/gidrokolbaska/Developer/flutter. Consider adding
      /Users/gidrokolbaska/Developer/flutter/bin to the front of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 7572ce907f (35 hours ago), 2022-12-01 01:07:29 -0500
    • Engine revision 51356bf895
    • Dart version 2.19.0 (build 2.19.0-444.0.dev)
    • DevTools version 2.20.0
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to
      perform update checks and upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 32.1.0-rc1)
    • Android SDK at /Users/gidrokolbaska/Library/Android/sdk
    • Platform android-32, build-tools 32.1.0-rc1
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.11+0-b60-7772763)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.0.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14A400
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.11+0-b60-7772763)

[✓] VS Code (version 1.73.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.34.0

[✓] Connected device (3 available)
    • iPhone 12 (mobile) • 070B14C3-C297-4A54-A136-A502B61105DF • ios            •
      com.apple.CoreSimulator.SimRuntime.iOS-16-0 (simulator)
    • macOS (desktop)    • macos                                • darwin-arm64   • macOS 12.6 21G115 darwin-arm64
    • Chrome (web)       • chrome                               • web-javascript • Google Chrome 108.0.5359.71

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.
```

</details>


<!--
      Consider also attaching screenshots and/or videos to better
      illustrate the issue.

      You can upload them directly on GitHub.
      Beware that video file size is limited to 10MB.
-->