Если класс открытый, то все члены класса «потенциально» видимы. Но, как вы говорите, поле будет видно только внутри пакета.
Если класс не виден, то как вы будете ссылаться на поле? Так что да, он будет ограничен только пакетом.
Конечно, стоит отметить, что большую часть времени вам не следует использовать открытые поля, если они не являются константами.
Я не понял вашу последнюю мысль, когда впервые прочитал ее, но я думаю, вы спрашиваете, почему стоит устанавливать модификатор ограничения доступа к классу, когда вы можете просто ограничить доступ к методам. Одна из причин, по которой вы не можете полагаться на поля / методы для предоставления ограничения, заключается в том, что расширяющийся класс (возможно, в другом пакете) может увеличить видимость метода. Но если они не могут видеть класс, чтобы расширить его, тогда вы в безопасности (r).