A container first surrounds the child with padding (inflated by any borders present in the decoration) and then applies additional constraints to the padded extent (incorporating the width and height as constraints, if either is non-null). The container is then surrounded by additional empty space described from the margin.
https://api.flutter.dev/flutter/widgets/Container-...
Т.е. как и в CSS они располагаются по разные стороны от border.
Ещё, кажется, padding не схлопывается (тоже как в CSS) с окружающими паддингами, а про margin такого не написано (в CSS margin схлопывается). Но это не точно,
документация на этот счёт несколько туманна.