Robert,
The question did seem familiar. Anyhow, I understand the problem a little better.
 "MBR's points are Xs"
. O X
 * *
 * *
 * *
 * *
 O O
 * *
 * *
 * *
 * *
XO

If you want to find the O's, you could search for the intersection between your polygon and linesdefiningtheMBR. The following example demonstrates how you can identify the left and right most points of your polygon (not the enclosing MBR).
WITH SampleGeometry AS (
SELECT
SDO_GEOMETRY(
'POLYGON ((6091829.946 2271465.64, 6092444.797 2271460.591, 6092445.067 2271797.663, 6091825.777 2271802.748, 6091829.946 2271465.64))',
40986
) geometry
FROM dual
), MbrEdges AS (
SELECT
SDO_GEOMETRY('LINESTRING ('
SDO_GEOM.SDO_MIN_MBR_ORDINATE(geometry,1)' '
SDO_GEOM.SDO_MIN_MBR_ORDINATE(geometry,2)','
SDO_GEOM.SDO_MIN_MBR_ORDINATE(geometry,1)' '
SDO_GEOM.SDO_MAX_MBR_ORDINATE(geometry,2)')',
40986
) LeftEdge,
SDO_GEOMETRY('LINESTRING ('
SDO_GEOM.SDO_MAX_MBR_ORDINATE(geometry,1)' '
SDO_GEOM.SDO_MIN_MBR_ORDINATE(geometry,2)','
SDO_GEOM.SDO_MAX_MBR_ORDINATE(geometry,1)' '
SDO_GEOM.SDO_MAX_MBR_ORDINATE(geometry,2)')',
40986
) RightEdge
FROM SampleGeometry
)
SELECT
SDO_GEOM.SDO_INTERSECTION(SampleGeometry.geometry, MbrEdges.LeftEdge, 0.001) LeftMostPoint,
SDO_GEOM.SDO_INTERSECTION(SampleGeometry.geometry, MbrEdges.RightEdge, 0.001) RightMostPoint
FROM SampleGeometry, MbrEdges;
 "Result"
SDO_GEOMETRY(2001, 40986, NULL, SDO_ELEM_INFO_ARRAY(1, 1, 1), SDO_ORDINATE_ARRAY(6091825.78, 2271802.75)) "LeftMost"
SDO_GEOMETRY(2001, 40986, NULL, SDO_ELEM_INFO_ARRAY(1, 1, 1), SDO_ORDINATE_ARRAY(6092445.07, 2271797.66))  "RightMost"
Here's an alternative that doesn't generate intermediate lines:
WITH SampleGeometry AS (
SELECT
SDO_GEOMETRY(
'POLYGON ((6091829.946 2271465.64, 6092444.797 2271460.591, 6092445.067 2271797.663, 6091825.777 2271802.748, 6091829.946 2271465.64))',
40986
) geometry
FROM dual
), LeftMbrEdge AS (
SELECT MIN(t.x) x
FROM SampleGeometry, TABLE(SDO_UTIL.GETVERTICES(geometry)) t
), RightMbrEdge As (
SELECT MAX(t.x) x
FROM SampleGeometry, TABLE(SDO_UTIL.GETVERTICES(geometry)) t
), LeftMostPoint As (
SELECT t.x, t.y
FROM SampleGeometry, LeftMbrEdge, TABLE(SDO_UTIL.GETVERTICES(geometry)) t
WHERE t.x = LeftMbrEdge.x
), RightMostPoint As (
SELECT t.x, t.y
FROM SampleGeometry, RightMbrEdge, TABLE(SDO_UTIL.GETVERTICES(geometry)) t
WHERE t.x = RightMbrEdge.x
)
SELECT LeftMostPoint.*, RightMostPoint.*
FROM LeftMostPoint, RightMostPoint;
 "Result "
6091825.78 2271802.75 6092445.07 2271797.66
These examples only searched for polygon points that touched the left or right edges of the MBR. You could easily modify them to search for polygon points that touch the upper or lower edges of the MBR.
Regards,
Noel