The following code works for polygons. A square 4x4 is tried here:
<< NDSolve`FEM`
a = 2;
mesh1 = ToBoundaryMesh[Rectangle[{0, 0}, {2 a, 2 a}],
"MaxBoundaryCellMeasure" -> 1, "MeshOrder" -> 1];
pts = mesh1["Coordinates"]
ConvexHullMesh[pts, MeshCellLabel -> {0 -> "Index"}]`
ch = ConvexHull[pts];
pts[[ch]]
ConvexHullMesh[pts, MeshCellLabel -> {0 -> "Index"}]
But if part of the boundary is curved, the curved part is missed:
mesh2 = ToBoundaryMesh[
RegionDifference[Rectangle[{0, 0}, {2 a, 2 a}],
Disk[{2 a, 2 a}, a]], "MaxBoundaryCellMeasure" -> 1,
"MeshOrder" -> 1];
pts = mesh2["Coordinates"]
ConvexHullMesh[pts, MeshCellLabel -> {0 -> "Index"}]
pts = mesh2["Coordinates"]
ch = ConvexHullMesh[pts]
mesh2
is not the convex region. $\endgroup$