Когда EJB развернут, контейнер просматривает интерфейсы и идентифицирует локальные и удаленные интерфейсы. Я бы сказал, что контейнер EJB уже использует локальный интерфейс в вашем примере. В этом случае просто не имеет смысла использовать удаленный интерфейс, потому что у контейнера есть выбор использовать локальный.
Если вы хотите быть уверенным, попробуйте использовать имя JNDI локального интерфейса в качестве параметра аннотации @EJB.
@EJB(name="java:comp/env/ejb/EntitySupplierLocal")
В примере выше я добавил local к имени интерфейса. В вашем случае вы должны взглянуть на контекст JNDI, чтобы получить правильное имя, или вы даже знаете его;).
Обычно я рекомендую использовать базовый интерфейс, в котором определены бизнес-методы, и расширять локальный и удаленный интерфейс. Таким образом, вам не нужно дублировать методы, и вы можете отдельно расширять функциональность для локального и удаленного доступа.
public interface Queries () { .. }
@Local
public interface QueriesLocal extends Queries () { .. }
@Remote
public interface QueriesRemote extends Queries () { .. }