From a functional point of view, it doesn't matter. You can order them however you want, it will still work the same.
However, there are coding guidelines most developers adhere to.
Jonathan Wright answered a similar question where he also linked the c# coding guidelines he cited from:
You would order them as follows:
- Fields
- Constructors
- [...]
- Properties
- [...]
- Methods
Within each of these groups order by access: (SA1202)
- public
- internal
- protected internal
- protected
- private
So while members with attributes like [SerializeField] are not explicitly listed, I would order them the same way you do, since the [SerializeField] attribute exposes the field to the Unity Editor and makes them accessible from outside.