That's because you haven't assigned anything to it! And the reference you're seeing is the NUMBER data type, not your parameter.
Somewhere in p give it a value and refer to it:
create or replace procedure p(p_out in out number) as
begin
p_out := 2;
dbms_output.put_line(p_out);
end;
/
select name,type,object_name,usage,usage_id
from user_identifiers
where object_name = 'P'
order by usage_id;
NAME TYPE OBJECT_NAME USAGE USAGE_ID
P PROCEDURE P DECLARATION 1
P PROCEDURE P DEFINITION 2
P_OUT FORMAL IN OUT P DECLARATION 3
NUMBER NUMBER DATATYPE P REFERENCE 4
P_OUT FORMAL IN OUT P ASSIGNMENT 5
P_OUT FORMAL IN OUT P REFERENCE 7