Okay, that answer wasn't really helpful, but I figured out how to do it. I had to calculate the offset between the marker and the screen point, then position the map accordingly.
In case someone else needs this:
public void CenterMapAtScreenPoint(Vector2 markerCoordinates, Vector3 _positionOfScreenPoint, float? _zoom = null)
{
// center the marker
OnlineMaps.instance.SetPositionAndZoom(markerCoordinates.x, markerCoordinates.y, _zoom);
// get coordinates of the ScreenPoint
Vector2 screenPointCoordinates = OnlineMapsControlBase.instance.GetCoords(_positionOfScreenPoint);
// calculate offset between marker and ScreenPoint
float targetCoordsX = (float)(markerCoordinates.x - (markerCoordinates.x - screenPointCoordinates.x));
float targetCoordsY = (float)(markerCoordinates.y + (markerCoordinates.y - screenPointCoordinates.y));
// move map
OnlineMaps.instance.SetPositionAndZoom(targetCoordsX, targetCoordsY, _zoom);
}